Transaction should update the local offline cache
It is a surprise to users (and Gemini) that writing documents using a transaction does not result in the local offline cache being updated when the transaction completes successfully. I'm not sure that it makes sense for the SDK to do this automatically but the firestore docs need to be updated (including the code examples) to make it clear that the local cache does not get updated. There may be some documents in the set being written that are never written by other users, in which case the local user is not expecting to have to have a listener running on those documents. If all the documents being written are in the same collection then having a listener running on that collection is the easy way to get the local cache updated. The docs for batched write could also point out that the local offline cache will be automatically updated. For all of the "set", "update" and batched write commands, the docs should explain whether the local cache gets updated or not even if the command fails. Also the docs should explain that a document read won't actually fetch a new copy of a document if the local offline cache is already up to date, which saves on egress costs but still incurs a document read charge because the document is actually read in the cloud, just not sent back to the client. Also in the docs, explain that for flutter web apps, the offline cache is disabled by default and that browsers (and end users) can delete some or all of the local cache and for IOS and maybe MACOS, if the web app isn't used for seven days, the operating system might delete the local cache.