-
-
Notifications
You must be signed in to change notification settings - Fork 604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resume to-device message queue after resumed sync #2920
Conversation
8ddefe8
to
c5bc715
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks sensible to me!
With a couple of test to cover the new scenario, we should be good to go 👍
f110537
to
e5ec2b5
Compare
e5ec2b5
to
11ac3d9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that makes sense! I tried dabbling with the timeout and believe you've landed in a good spot!
* Remove extensible events v1 field population on legacy events ([\matrix-org#3040](matrix-org#3040)). * Improve hasUserReadEvent and getUserReadUpTo realibility with threads ([\matrix-org#3031](matrix-org#3031)). Fixes element-hq/element-web#24164. * Remove video track when muting video ([\matrix-org#3028](matrix-org#3028)). Fixes element-hq/element-call#209. * Make poll start event type available (PSG-962) ([\matrix-org#3034](matrix-org#3034)). * Add alt event type matching in Relations model ([\matrix-org#3018](matrix-org#3018)). * Remove usage of v1 Identity Server API ([\matrix-org#3003](matrix-org#3003)). * Add `device_id` to `/account/whoami` types ([\matrix-org#3005](matrix-org#3005)). * Implement MSC3912: Relation-based redactions ([\matrix-org#2954](matrix-org#2954)). * Introduce a mechanism for using the rust-crypto-sdk ([\matrix-org#2969](matrix-org#2969)). * Support MSC3391: Account data deletion ([\matrix-org#2967](matrix-org#2967)). * Fix threaded cache receipt when event holds multiple receipts ([\matrix-org#3026](matrix-org#3026)). * Fix false key requests after verifying new device ([\matrix-org#3029](matrix-org#3029)). Fixes element-hq/element-web#24167 and element-hq/element-web#23333. * Avoid triggering decryption errors when decrypting redacted events ([\matrix-org#3004](matrix-org#3004)). Fixes element-hq/element-web#24084. * bugfix: upload OTKs in sliding sync mode ([\matrix-org#3008](matrix-org#3008)). * Apply edits discovered from sync after thread is initialised ([\matrix-org#3002](matrix-org#3002)). Fixes element-hq/element-web#23921. * Sliding sync: Fix issue where no unsubs are sent when switching rooms ([\matrix-org#2991](matrix-org#2991)). * Threads are missing from the timeline ([\matrix-org#2996](matrix-org#2996)). Fixes element-hq/element-web#24036. * Close all streams when a call ends ([\matrix-org#2992](matrix-org#2992)). Fixes element-hq/element-call#742. * Resume to-device message queue after resumed sync ([\matrix-org#2920](matrix-org#2920)). Fixes matrix-org/element-web-rageshakes#17170. * Fix browser entrypoint ([\matrix-org#3051](matrix-org#3051)). Fixes matrix-org#3013. * Fix failure to start in firefox private browser ([\matrix-org#3058](matrix-org#3058)). Fixes element-hq/element-web#24216. * Correctly handle limited sync responses by resetting the thread timeline ([\matrix-org#3056](matrix-org#3056)). Fixes element-hq/element-web#23952.
Fixes https://github.com/matrix-org/element-web-rageshakes/issues/17170 and https://github.com/matrix-org/element-web-rageshakes/issues/17169
If there is any server connectivity issue whilst to-device message queue is processing batches of messages, the queue will be stopped and only resumed once further to-device messages are enqueued. This can lead to UISIs if the sender does not send any new keys immediately after connection is restored.
The solution is to observe client sync status and automatically resume the queue via
sendQueue
when we first recieve aSyncState.Syncing
. If the queue is already empty,sendQueue
will exit gracefully.Checklist
Here's what your changelog entry will look like:
🐛 Bug Fixes