element-hq / element-hq/element-web
Stuck unread in thread where last message is a reaction
- Dominant language
- TypeScript
- Stars
- 13.5k
- Forks
- 2.8k
- PR merge metrics
- PR metrics pending
Description
### Steps to reproduce
Writing up a bug for my discoveries on this case of stuck unreads. This is most likely the cause of at last one other stuck unread bug in the tracker, but rather than co-opt one of them I'm just going to make a dedicated issue.
I haven't actually tested these repro steps yet as I've ben analysing an existing thread, but hypothetically:
1. Make a thread
2. Post some messages in it
3. Post a reaction to the last message
4. In a different client, open that thread so the unread dot goes away
5. Refresh that new client
The unread dot has probably come back (and the reaction has maybe disappeared?) This is because your read receipt points to the reaction event which didn't get sent with the thread relations because it's an indirect relation. Unless your server has MSC3981 support enabled, in which case perhaps it all worked fine?
Unknowns:
* Does the reaction definitely disappear and if so, why do I see reactions working fine in other threads that have loaded post-refresh?
* Is it all fine with MSC3981 support?
* Tried a server with it enabled and it still isn't returning the related events??
* How could we fix this for servers without MSC3981 support? (I'm short on ideas...)
* How are edits seemingly working but reactions are not?
### Outcome
#### What did you expect?
#### What happened instead?
### Operating system
_No response_
### Application version
_No response_
### How did you install the app?
_No response_
### Homeserver
_No response_
### Will you send logs?
No
Contributor guide
Assessment
This issue has not been assessed yet.