fix: Include rooms with no new events in full_state syncs #2391

Open
mspnr wants to merge 2 commits from mspnr/continuwuity:fix/sync-full-state-empty-rooms into main

2026-10-20

chore: Add news fragment for the full_state sync fix
Some checks are pending
Documentation / Build and Deploy Documentation (pull_request) Blocked by required conditions
Checks / Prek / Pre-commit & Formatting (pull_request) Blocked by required conditions
Checks / Prek / Check changed files (pull_request) Blocked by required conditions
Checks / Prek / Clippy and Cargo Tests (pull_request) Blocked by required conditions
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 7s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 23:04:15 +02:00
fix: Include rooms with no new events in full_state syncs
Some checks failed
Auto Labeler / Apply labels based on changed files (pull_request_target) Successful in 5s
Checks / Changelog / Check changelog is added (pull_request_target) Failing after 8s
Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Checks / Prek / Check changed files (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
build_state_events returned early for an empty timeline without looking at
full_state, so a sync with `since` and `full_state=true` produced an empty
JoinedRoom for every quiet room, and those rooms were then dropped from
rooms.join. The spec says full_state returns the full state of all joined
rooms even when `since` is set. Skip the early return when full_state is set
so build_state_initial runs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 20:00:29 +02:00