synapse/tests/storage
Eric Eastwood 11db575218
Sliding Sync: Use `stream_ordering` based timeline pagination for incremental sync (#17510)
Use `stream_ordering` based `timeline` pagination for incremental
`/sync` in Sliding Sync. Previously, we were always using a
`topological_ordering` but we should only be using that for historical
scenarios (initial `/sync`, newly joined, or haven't sent the room down
the connection before).

This is slightly different than what the [spec
suggests](https://spec.matrix.org/v1.10/client-server-api/#syncing)

> Events are ordered in this API according to the arrival time of the
event on the homeserver. This can conflict with other APIs which order
events based on their partial ordering in the event graph. This can
result in duplicate events being received (once per distinct API
called). Clients SHOULD de-duplicate events based on the event ID when
this happens.

But we've had a [discussion below in this
PR](https://github.com/element-hq/synapse/pull/17510#discussion_r1699105569)
and this matches what Sync v2 already does and seems like it makes
sense. Created a spec issue
https://github.com/matrix-org/matrix-spec/issues/1917 to clarify this.

Related issues:

 - https://github.com/matrix-org/matrix-spec/issues/1917
 - https://github.com/matrix-org/matrix-spec/issues/852
 - https://github.com/matrix-org/matrix-spec-proposals/pull/4033
2024-08-07 11:27:50 -05:00
..
databases Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
util Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
__init__.py Reference Matrix Home Server 2014-08-12 15:10:52 +01:00
test__base.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_account_data.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_appservice.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_background_update.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_base.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_cleanup_extrems.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
test_client_ips.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_database.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_devices.py Reintroduce "Reduce device lists replication traffic."" (#17361) 2024-06-25 10:34:34 +01:00
test_directory.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_e2e_room_keys.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_end_to_end_keys.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_event_chain.py Reintroduce #17291. (#17338) 2024-06-24 14:40:28 +00:00
test_event_federation.py Reintroduce #17291. (#17338) 2024-06-24 14:40:28 +00:00
test_event_metrics.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_event_push_actions.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_events.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_id_generators.py Set our own stream position from the current sequence value on startup (#17309) 2024-06-17 11:50:00 +00:00
test_main.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_monthly_active_users.py Update license headers 2023-11-21 15:29:58 -05:00
test_profile.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_purge.py Update license headers 2023-11-21 15:29:58 -05:00
test_receipts.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_redaction.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_registration.py Add support for MSC3823 - Account Suspension (#17051) 2024-05-01 17:45:17 +01:00
test_relations.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_rollback_worker.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_room.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_room_search.py Return the search terms as search highlights for SQLite instead of nothing (#17000) 2024-04-26 09:43:52 +01:00
test_roommember.py Order `heroes` by `stream_ordering` (as spec'ed) (#17435) 2024-07-17 13:10:15 -05:00
test_state.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_stream.py Sliding Sync: Use `stream_ordering` based timeline pagination for incremental sync (#17510) 2024-08-07 11:27:50 -05:00
test_transactions.py Update license headers 2023-11-21 15:29:58 -05:00
test_txn_limit.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_unsafe_locale.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_user_directory.py Handle hyphens in user dir search porperly (#17254) 2024-06-05 10:40:34 +01:00
test_user_filters.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00