element-hq / element-hq/element-web
Malformed reply can cause stuck notification
- Dominant language
- TypeScript
- Stars
- 13.5k
- Forks
- 2.8k
- PR merge metrics
- PR metrics pending
Description
### Steps to reproduce
If a (buggy) client sends (in a room with 'all messages' mode enabled) a reply to a threaded event but does not include the thread relation in the reply, this appears to cause element web to get stuck with a notification on the main room (but clear the unread status on the thread).
My guess at a cause: synapse does not class the message as being in the thread but Element does?
This was causing playwright tests to fail because the buggy client in question was our playwright message faking bot, which is how I discovered this (see https://github.com/matrix-org/matrix-react-sdk/pull/12070).
### Outcome
#### What did you expect?
Reading the thread should mark the room + thread as read
#### What happened instead?
Stuck notif badge on room
### Operating system
_No response_
### Browser information
_No response_
### URL for webapp
_No response_
### Application version
_No response_
### Homeserver
_No response_
### Will you send logs?
No
Contributor guide
Research direction
Start by reproducing the issue with the Playwright message faking bot and inspect the notification and read-state handling for replies missing a thread relation. Check the referenced matrix-react-sdk pull request for context. Done means reading the thread clears both the room and thread notification state, with the Playwright tests passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- playwright, typescript
- Domain
- frontend, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100