element-hq / element-hq/synapse

When a remote user leaves the last room shared with the local homeserver, their cached device list is not invalidated

Open
#13,651 0 comments 0 reactions 0 assignees View on GitHub
A-Device-List-Tracking O-Occasional S-Major T-Defect
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This issue has been migrated from [#13651](https://github.com/matrix-org/synapse/issues/13651).

---

and `/keys/query` continues to return stale information, even after the remote user rejoins the room.

1. Have a room with one local user, `@alice:local` and one remote user, `@bob:remote`.
2. Have `@alice:local` do a `/keys/query` request to cache `@bob:remote`'s device list.
3. Have `@bob:remote` leave the room.
4. `@alice:local` observes `@bob:remote` in the `device_lists.left` section of /sync.
5. (bad) If `@bob:remote` then updates their device list and `@alice:local` does a `/keys/query` request, a stale response is returned.
6. `@bob:remote` rejoins the room.
7. `@alice:local` observes `@bob:remote` in the `device_lists.changed` section of /sync.
8. (very bad) If `@alice:local` does a `/keys/query` request, a stale response is still returned.

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.