The important factor in the recent protests, and why they did not resemble the fight against tyranny Trump tried to portray in his tweets, is the dog that did not bark. The urban dissident voices did not join the populist call for economic justice. Why? First, urbanites, as note by the economist Djavad Salehi-Isfahani, have been the main beneficiaries of President Hassan Rouhani’s economic liberalization policies, like his talk of moderation, and have been the main backers of his pursuit of a nuclear deal. They had expected that the deal would end Iran’s international isolation, yield economic benefits, and also improve the political climate at home.

They saw in Rouhani an orderly path to change. Many among these urbanites actually feared that the protests could lead to chaos, or tilt Iranian politics in favor of their nemesis, the populist demagogue and former President Mahmoud Ahmadinejad.

Without Tehran joining the protests, they never really posed an existential threat to the Islamic Republic. No regime is truly threatened unless it loses control of its urban areas, and most important among them, its capital city. Iran’s security forces were not organized to contain protests across a large number of small cities, and so were caught unprepared. Even so, without Tehran, the security forces could afford to think of the protests as small fires that would eventually burn themselves out—as they appear to have done.

Until and unless the urban middle classes and the poor join in common cause—as they did in 1979—there will be no revolution. And in this calculus of stability, it is more important to keep Tehran and the major urban centers happy. It is no coincidence that in his first public statement on the protests, the Commander of the Revolutionary Guards tied the protesters to former President Ahmadinejad, hinting that he was being investigated for his role in the disturbances.

But it’s not just fears of a Jacobin uprising that have kept Tehran quiet; it’s also Rouhani’s political promise. Rouhani won presidential elections twice, in 2012 and 2015, both times owing to his popularity with urban middle classes—and his firm hold on Tehran’s vote. The protests showed that he is not popular with the poor, but that Tehran’s middle-class urbanites don’t share the same degree of dissatisfaction. If stability depends on Tehran, then the protests have only strengthened Rouhani’s political position.

Indeed, Rouhani’s agenda favors Tehran. He has cut subsidies while also raising fuel prices; he has failed to tackle corruption; and has fallen short on delivering on promises of an economic bonanza to follow the nuclear deal. Details of the budget were made public for the first time in December, causing an uproar on social media. Rouhani had hoped that transparency would show that his hands were tied, and that he was not free to divert funding from security forces and religious establishments to entitlement programs. But this did not spare him the wrath of the protesters.