element-hq / element-hq/element-web

Stuck unread in thread where last message is a reaction

Open
#26,718 0 comments 0 reactions 0 assignees View on GitHub
A-Notifications O-Occasional S-Major T-Defect
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.