224d56698a
when doing a limited sync, and a new fragment is created, this._lastLiveKey is updated immediately. If the transaction would then fail, the fragmentId in this._lastLiveKey was incremented but the fragment wasn't written to the store, so if sync is resumed and would subsequently succeed, fragmentIds would be assigned to events that don't have a corresponding fragment in the timelineFragment store. This would throw errors when trying to load the timeline, breaking the whole app. This changes SyncWriter to only update this._lastLiveKey in the emit phase, when the transactions has been committed already. |
||
---|---|---|
.. | ||
sending | ||
timeline | ||
room.js | ||
summary.js |