element-hq / element-hq/synapse
Unthreaded receipt is not returned in the next syncs
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 600
- Avg merge
- 5d 22h
- Merged PRs (30d)
- 51
Description
### Description
I'm investigating cases of stuck unread on EW.
When I'm sending an unthreaded receipt on a room with unread threads, my receipt doesn't appear in the next syncs.
Maybe is due to that the last event of the room is an user renaming
### Steps to reproduce
In a room:
- Unread threads
- Main timeline is read
- The last event of the room is an user renaming
I send an unthreaded receipt:
```
POST https://element.ems.host/_matrix/client/v3/rooms/!jSkNtsjcsXfCRJwGpp%3Amatrix.org/receipt/m.read/%24UVcMglbqEZkuH2fq5zzbH-gQGyIU3MKr83qdtWUJwHg
```
The next syncs don't include my receipt.
RoomId: !jSkNtsjcsXfCRJwGpp:matrix.org
Last important eventId: $UVcMglbqEZkuH2fq5zzbH-gQGyIU3MKr83qdtWUJwHg
### Homeserver
element.io
### Synapse Version
1.107.0
### Installation Method
I don't know
### Database
.
### Workers
Single process
### Platform
.
### Configuration
_No response_
### Relevant log output
```shell
.
```
### Anything else that would be useful to know?
_No response_
Contributor guide
Research direction
Start by reproducing the reported sequence against the Matrix receipt endpoint: leave unread threads, mark the main timeline read, ensure the last room event is a user renaming, then send the unthreaded receipt. Trace how that receipt is incorporated into subsequent sync responses; done means the receipt appears in the next syncs for this scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100