mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-12-15 14:35:18 -05:00
Be a bit more careful about how we calculate the state to be returned by /sync. In a few places, it was possible for /sync to return slightly later state than that represented by the next_batch token and the timeline. In particular, the following cases were susceptible: * On a full state sync, for an active room * During a per-room incremental sync with a timeline gap * When the user has just joined a room. (Refactor check_joined_room to make it less magical) Also, use store.get_state_for_events() (and thus the existing stategroups) to calculate the state corresponding to a particular sync position, rather than state_handler.compute_event_context(), which recalculates from first principles (and tends to miss some state). Merged from PR https://github.com/matrix-org/synapse/pull/372 |
||
|---|---|---|
| .. | ||
| engines | ||
| schema | ||
| util | ||
| __init__.py | ||
| _base.py | ||
| appservice.py | ||
| background_updates.py | ||
| directory.py | ||
| end_to_end_keys.py | ||
| event_federation.py | ||
| events.py | ||
| filtering.py | ||
| keys.py | ||
| media_repository.py | ||
| prepare_database.py | ||
| presence.py | ||
| profile.py | ||
| push_rule.py | ||
| pusher.py | ||
| receipts.py | ||
| registration.py | ||
| rejections.py | ||
| room.py | ||
| roommember.py | ||
| search.py | ||
| signatures.py | ||
| state.py | ||
| stream.py | ||
| tags.py | ||
| transactions.py | ||