-
-
Notifications
You must be signed in to change notification settings - Fork 97
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
Batching receipts should be per room/thread, not just per room #1684
Comments
From memory, Synapse doesn't batch read receipts - the SHOULD in the spec makes this legal behaviour. The added |
Rendered spec link: https://spec.matrix.org/v1.9/client-server-api/#server-behaviour-2 |
I guess this was missed when MSC3771 added threaded RRs |
It does batch read receipts, and it batches them incorrectly. Here's a test which demonstrates this matrix-org/complement#709 - Synapse source: https://github.com/element-hq/synapse/blob/v1.101.0/synapse/storage/databases/main/receipts.py#L463 |
Link to problem area: https://github.com/matrix-org/matrix-spec/blob/main/content/client-server-api/modules/receipts.md?plain=1#L211
Issue
What is wrong?
In "Server behaviour" under "Receipts" we say:
However, if a user is sending receipts for multiple threads in the same room simultaneously, this batching would prevent sending some of those receipts.
Ideally, the format would not be:
but something like:
But it's probably too late for that.
Expected behaviour
So instead I suggest rewording the above sentence to something like:
I haven't been able to verify server behaviour in this situation, but maybe a server dev could comment - do we actually lose receipts in this circumstance at the moment?
The text was updated successfully, but these errors were encountered: