the performance with which the steps were pushed to clients was slower than I’d have liked
My understanding is that writes to Firestore are slower than, say, Firebase (their previous gen), because every write is persisted to multiple regions before ack’ing the write to the writer (e.g. there’s an emphasis on durability over latencies). I’m not sure how this impacts how quickly that ack is distributed to connected clients, but my impression has been that it’s this initial, multi-region piece that might impact perceived throughput. Because of the varied network conditions that some of our users face, we decided that this throughput was fine for us; it’s worth keeping in mind that the situation where you’re comparing the speed at which steps arrive with two tabs on the same computer is not a real world scenario
Also there are limitations imposed by Firestore, like the maximum write rate to a document of 1 second
We’ve never run into the maximum write throughput being an issue; the client-side code needs to be written to be retry/failure-tolerant anyways, so even if this was happening commonly (& again, I’ve never personally seen it in our logs), it’s not likely the users would really notice a difference.