Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Make outgoing device list tracking work after we partial-join #13891

@DMRobertson

Description

@DMRobertson

To fix "/keys/query requests on a remote homeserver must not return stale data.":

  • Store the current device list stream ID when we start a partial join
  • When we transition from partial to fully joined, send all device list updates in device_list_changes_in_room since we last joined the room (by referring to the recorded stream ID) for the room to all servers that are either:
    1. are in the room; or
    2. have had a membership change between the state at the initial join and the new current state.

Originally posted by @erikjohnston in #12993 (comment)

Metadata

Metadata

Labels

A-Device-List-TrackingTelling clients about other devices. Often related to E2EE.A-Federated-Joinjoins over federation generally suckT-TaskRefactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions