0
0
Fork 0
mirror of https://github.com/matrix-org/dendrite synced 2024-12-25 08:33:44 +01:00
dendrite/syncapi/storage/postgres
Neil Alexander 965f068d1a
Handle state with input event as new events (#1415)
* SendEventWithState events as new

* Use cumulative state IDs for final event

* Error wrapping in calculateAndSetState

* Handle overwriting same event type and state key

* Hacky way to spot historical events

* Don't exclude from sync

* Don't generate output events when rewriting forward extremities

* Update output event check

* Historical output events

* Define output room event type

* Notify key changes on state

* Don't send our membership event twice

* Deduplicate state entries

* Tweaks

* Remove unnecessary nolint

* Fix current state upsert in sync API

* Send auth events as outliers, state events as rewrite

* Sync API don't consume state events

* Process events actually

* Improve outlier check

* Fix local room check

* Remove extra room check, it seems to break the whole damn world

* Fix federated join check

* Fix nil pointer exception

* Better comments on DeduplicateStateEntries

* Reflow forced federated joins

* Don't force federated join for possibly even local invites

* Comment SendEventWithState better

* Rewrite room state in sync API storage

* Add TODO

* Clean up all room data when receiving create event

* Don't generate output events for rewrites, but instead notify that state is rewritten on the final new event

* Rename to PurgeRoom

* Exclude backfilled messages from /sync

* Split out rewriting state from updating state from state res

Co-authored-by: Kegan Dougal <kegan@matrix.org>
2020-09-15 11:17:46 +01:00
..
account_data_table.go Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
backwards_extremities_table.go Handle state with input event as new events (#1415) 2020-09-15 11:17:46 +01:00
current_room_state_table.go Handle state with input event as new events (#1415) 2020-09-15 11:17:46 +01:00
filter_table.go Implement /sync limited and read timeline limit from stored filters (#1168) 2020-06-26 15:34:41 +01:00
filtering.go Implement storage interfaces (#841) 2020-01-03 14:07:05 +00:00
invites_table.go Storage tweaks (#1373) 2020-09-01 11:28:35 +01:00
output_room_events_table.go Handle state with input event as new events (#1415) 2020-09-15 11:17:46 +01:00
output_room_events_topology_table.go Handle state with input event as new events (#1415) 2020-09-15 11:17:46 +01:00
peeks_table.go Peeking via MSC2753 (#1370) 2020-09-10 14:39:18 +01:00
send_to_device_table.go Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
syncserver.go Peeking via MSC2753 (#1370) 2020-09-10 14:39:18 +01:00