91³Ô¹ÏÍø

Watch CBS News

NYC Mayor Zohran Mamdani appeals to Albany lawmakers on "Tin Cup Day"

New York City Mayor Zohran Mamdani was in Albany Wednesday for what is known as "Tin Cup Day." 

Mamdani is seeking lawmaker approval for his agenda, including an increase on taxes on the wealthiest New Yorkers and businesses

Mamdani says projected budget gap has shrunk

Mamdani told lawmakers New York City is confronting a multi-billion dollar deficit. Initially, he had said that there would be a $12 billion gap over two years. Wednesday he said that, thanks to updated estimates of tax revenues based on Wall Street bonuses and aggressive savings, that anticipated deficit has shrunk. 

"We have lowered that $12 billion gap to $7 billion over two fiscal years," Mamdani said. 

The mayor was asked at a press conference how the $12 billion number revealed just two weeks ago can be so different now since officials knew bonuses were coming. 

"There were rumors. There were reports that things would be better than expected, but we can't budget on the basis of a rumor," Mamdani said. 

"No one gives more and gets less in return"

Mamdani insisted the city gets a raw deal from the state, and deserves more funding. 

"No one gives more and gets less in return than New York City. New York City contributes 54.5% of state revenue, but only receives 40.5% in return," Mamdani said. 

Upstate legislators said many other cities are hurting, too. 

"For people in other communities that are struggling mightily, for the city of Buffalo that's struggling mightily. It's a place like Dunkirk that has given everything they've got. And no one's coming to save them because they're small and they don't have any power," Assemblymember Patrick Burke said. 

Mamdani said he still wants a 2% tax increase on the wealthiest New Yorkers, even though Gov. Kathy Hochul is in no mood to raise taxes in an election year. 

Mamdani, for his part, said he felt the day back in Albany went well. 

"As I was leaving today, my wife looked and she said 'You know, I'd give you money,'" he joked. "It gave me the confidence to make the trip." 

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });