You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updating the senderdata and the "latest ratchet" when we decrypt a message
Most of these operations should not happen concurrently, since they are all handled from within the application's "sync loop".
However, marking a session as not-backed-up (in particular, when backup is disabled or otherwise reset) can happen out-of-band. In this case, because there is no locking between the operations, it is possible for a write to be lost, leading to sessions not being backed up (potentially causing unable-to-decrypt errors on future devices).
(The converse is not true: marking a session as not-backed-up is treated as an atomic operation by the store implementations, so other updates cannot be lost by a reset-backup operation.)
This would be fixed by the proposed fix to element-hq/element-web#26892, provided we extend it to the sqlite implementation.
The text was updated successfully, but these errors were encountered:
In various places in the codebase, we carry out a read-modify-write operation on existing Inbound Group Sessions. Examples include:
/keys/query
#3753)Most of these operations should not happen concurrently, since they are all handled from within the application's "sync loop".
However, marking a session as not-backed-up (in particular, when backup is disabled or otherwise reset) can happen out-of-band. In this case, because there is no locking between the operations, it is possible for a write to be lost, leading to sessions not being backed up (potentially causing unable-to-decrypt errors on future devices).
(The converse is not true: marking a session as not-backed-up is treated as an atomic operation by the store implementations, so other updates cannot be lost by a reset-backup operation.)
This would be fixed by the proposed fix to element-hq/element-web#26892, provided we extend it to the sqlite implementation.
The text was updated successfully, but these errors were encountered: