A deadly fire on Thursday in Urumqi, the capital of northwest China's Xinjiang region, has spurred an outpouring of anger as many social media users blamed lengthy Covid lockdowns for hampering rescue efforts.
China is the last major economy wedded to a zero-Covid strategy, with authorities wielding snap lockdowns, lengthy quarantines and mass testing to snuff out new outbreaks as they emerge.
In a video widely shared on social media and geolocated by AFP, some protesters can be heard chanting "Xi Jinping, step down! CCP, step down!" in central Shanghai's Wulumuqi street -- named for Urumqi in Mandarin -- in a rare display of public opposition to China's top leadership.
A person who attended the Shanghai protests but asked not to be identified told AFP they arrived at the rally at 2:00 am (1800 GMT) to see one group of people putting flowers on the sidewalk to mourn the 10 people killed in the fire, while another group chanted slogans.
Video taken by an eyewitness showed a large crowd shouting and holding up blank white pieces of paper -- a symbolic protest against censorship -- as they faced several lines of police.
The attendee said there were minor clashes but that overall the police were "civilized".
"It's touching to see so many like-minded and humane people uniting together," they said.
"It's shocking to know that, under today's circumstances, there are still many brave people standing out."
Multiple witnesses said a couple of people were taken away by the police.
Authorities were swift to curb online discussion of the protest, with related phrases scrubbed from the Twitter-like Weibo platform almost immediately after footage of the rallies emerged.
The area was quiet by daytime Sunday but a heavy security presence was visible.
An AFP journalist saw some people holding flowers being approached by police before leaving.
Other vigils took place overnight at universities across China, including one at the elite Peking University, an undergraduate participant told AFP.
Speaking anonymously for fear of repercussions, he said some anti-Covid slogans had been graffitied on a wall in the university, with some words echoing those written on a banner that was hung over a Beijing bridge just before the Communist Party Congress in October.
People had started gathering from around midnight local time, but he hadn't dared join initially.
"When I arrived (two hours later), I think there were at least 100 people there, maybe 200," he said.
"At first, they sang the 'Internationale'. Later, some students started shouting slogans, but the reaction wasn't particularly loud. People weren't really sure what they should shout. But I heard people yelling: 'No to Covid tests, yes to freedom!'"
Photos and videos he showed AFP corroborated his account.
The students were communicating with security guards and teachers, he said, but it is unclear if they faced punishment for taking part.
The graffiti had already been covered up when he arrived.
Videos on social media also showed a mass vigil at Nanjing Institute of Communications, with people holding lights and white sheets of paper.
Hashtags relating to the protest were censored on Weibo, and video platforms Duoyin and Kuaishou were scrubbed of any videos.
Videos from Xi'an, Guangzhou and Wuhan also spread on social media, showing similar small protests. AFP was unable to verify the footage independently.
China reported 39,506 domestic Covid cases Sunday, a record high but small compared to caseloads in the West at the height of the pandemic.
The protests come against a backdrop of mounting public frustration over China's zero-tolerance approach to the virus and follow sporadic rallies in other cities recently.
A number of high-profile cases in which emergency services have been allegedly slowed down by Covid lockdowns, leading to deaths, have catalysed public opposition.
Following the deadly Urumqi fire, hundreds of people massed outside the city's government offices, chanting: "Lift lockdowns!", footage partially verified by AFP shows.
In another clip, dozens of people are seen marching through a neighbourhood in the east of the city, shouting the same slogan before facing off with a line of hazmat-clad officials and angrily rebuking security personnel.
AFP was able to verify the videos by geolocating local landmarks but was unable to specify exactly when the protests occurred.
Urumqi officials said on Saturday the city "had basically reduced social transmissions to zero" and would "restore the normal order of life for residents in low-risk areas in a staged and orderly manner".