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

Synapse relies on unspecced behaviour for the remote server to resync device lists after prune_outbound_device_list_pokes #7173

Open
richvdh opened this issue Mar 30, 2020 · 0 comments
Labels
A-Device-List-Tracking Telling clients about other devices. Often related to E2EE. A-Federation A-Spec-Compliance places where synapse does not conform to the spec O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues. z-p2 (Deprecated Label)

Comments

@richvdh
Copy link
Member

richvdh commented Mar 30, 2020

Background: each m.device_list_update EDU has a stream_id; receiving servers can check that they haven't missed any in the sequence. If a receiving server receives an update with a prev_id it doesn't recognise, it should do a full resync for that user.

We use this behaviour to prune device list updates for offline server.

However, synapse currently relies on the unspecced behaviour that the remote server will do a full resync if the prev_id is empty. This is wrong - an empty prev_id means 'this is the first ever update', so there should be no need for the remote server to resync.

@clokep clokep added A-Federation z-p2 (Deprecated Label) A-Spec-Compliance places where synapse does not conform to the spec labels Apr 2, 2020
@reivilibre reivilibre added A-Device-List-Tracking Telling clients about other devices. Often related to E2EE. S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues. O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience labels May 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Device-List-Tracking Telling clients about other devices. Often related to E2EE. A-Federation A-Spec-Compliance places where synapse does not conform to the spec O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues. z-p2 (Deprecated Label)
Projects
None yet
Development

No branches or pull requests

3 participants