Skip to content

Reflect out-of-band leaves in MSC4222 state_after on sync#19957

Open
ara4n wants to merge 2 commits into
developfrom
matthew/oob-leaves-state-after
Open

Reflect out-of-band leaves in MSC4222 state_after on sync#19957
ara4n wants to merge 2 commits into
developfrom
matthew/oob-leaves-state-after

Conversation

@ara4n

@ara4n ara4n commented Jul 14, 2026

Copy link
Copy Markdown
Member

Out-of-band membership events are outliers which never enter the current state delta stream.

Clients using MSC4222's state_after do not apply timeline events to state, so without this they never learn that an invite rejection or knock rescission changed their membership, and e.g. Element Web keeps showing a knock as pending after rescinding it.

Pull Request Checklist

  • Pull request is based on the develop branch
  • Pull request includes a changelog file. The entry should:
    • Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from EventStore to EventWorkerStore.".
    • Use markdown where necessary, mostly for code blocks.
    • End with either a period (.) or an exclamation mark (!).
    • Start with a capital letter.
    • Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry.
  • Code style is correct (run the linters)

Out-of-band membership events are outliers: they never enter the
current state delta stream, and the archived-room branch of sync
deliberately returns no state for them. Clients using MSC4222's
state_after do not apply timeline events to state, so without this they
never learn that an invite rejection or knock rescission changed their
membership, and e.g. Element Web keeps showing a knock as pending after
rescinding it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uk8aPxHn3BHCe52L226jdG
@ara4n
ara4n requested a review from a team as a code owner July 14, 2026 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants