element-hq / element-hq/synapse

Unthreaded receipt is not returned in the next syncs

Open
#17,247 7 comments 0 reactions 0 assignees View on GitHub
A-Sync X-Needs-Info
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.