...
this shit is still fucked because firebase writes locally even when a transaction fails