MSC4005: Explicit read receipts for sent events#4005
Conversation
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
12d5f8c to
3f5f2e0
Compare
|
FYI, I'm going to take a shot at implementing this in Synapse over the next few weeks when I find some time. |
| "where the user has read up to" is simplified to just a read receipt, where previously it was the | ||
| greater value of the user's read receipt and their last sent event. If the event is "in a thread" | ||
| (using the definition from [threaded read receipts](https://spec.matrix.org/v1.7/client-server-api/#threaded-read-receipts)) | ||
| the generated read receipt should be a threaded read receipt. |
There was a problem hiding this comment.
If I read this correctly, I think it is saying that if an event is in the main timeline, the server should generate an unthreaded read receipt.
I think this would produce unexpected behaviour in a thread-aware client: if I send a message in the main timeline in my thread-aware client, I would not expect all unread threads to become read.
It's possible we need the client to tell the server whether the event it is sending is within the main timeline in a threaded context, or in an unthreaded context.
There was a problem hiding this comment.
While I agree this isn't ideal, I think it's no worse than the status quo today. I believe that for the purpose of calculating notification counts for example, the homeserver will clear notification counts from threads when a message is sent to the the main timeline.
I agree with your thinking on how to solve it (clients need to declare their thread-awareness when sending a message somehow) but I also think this could be merged without tackling this problem.
See this thread here: #4005 (comment)
There was a problem hiding this comment.
I believe that for the purpose of calculating notification counts for example, the homeserver will clear notification counts from threads when a message is sent to the the main timeline.
Given matrix-org/synapse#14837 I find this hard to believe
Rendered