dendrite/roomserver/storage/postgres
Kegsay 18231f25b4
Implement rejected events (#1426)
* WIP Event rejection

* Still send back errors for rejected events

Instead, discard them at the federationapi /send layer rather than
re-implementing checks at the clientapi/PerformJoin layer.

* Implement rejected events

Critically, rejected events CAN cause state resolution to happen
as it can merge forks in the DAG. This is fine, _provided_ we
do not add the rejected event when performing state resolution,
which is what this PR does. It also fixes the error handling
when NotAllowed happens, as we were checking too early and needlessly
handling NotAllowed in more than one place.

* Update test to match reality

* Modify InputRoomEvents to no longer return an error

Errors do not serialise across HTTP boundaries in polylith mode,
so instead set fields on the InputRoomEventsResponse. Add `Err()`
function to make the API shape basically the same.

* Remove redundant returns; linting

* Update blacklist
2020-09-16 13:00:52 +01:00
..
event_json_table.go Implement core redaction logic (#1185) 2020-07-06 17:49:15 +01:00
event_state_keys_table.go Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
event_types_table.go Fix nil txn bug 2020-09-04 10:22:32 +01:00
events_table.go Implement rejected events (#1426) 2020-09-16 13:00:52 +01:00
invite_table.go Finish implementing retiring invites (#1166) 2020-06-26 11:07:52 +01:00
membership_table.go Implement more CSS storage functions in roomserver (#1388) 2020-09-03 18:27:02 +01:00
previous_events_table.go Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
published_table.go Roomserver per-room input parallelisation (Postgres) (#1289) 2020-08-20 16:24:33 +01:00
redactions_table.go Emit redacted_event from the roomserver when redactions are validated (#1186) 2020-07-07 12:51:55 +01:00
room_aliases_table.go Roomserver per-room input parallelisation (Postgres) (#1289) 2020-08-20 16:24:33 +01:00
rooms_table.go Remove QuerySharedUsers from current state server (#1396) 2020-09-04 14:25:01 +01:00
state_block_table_test.go Implement storage interfaces (#841) 2020-01-03 14:07:05 +00:00
state_block_table.go Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
state_snapshot_table.go Convert remaining roomserver tables (#1065) 2020-05-27 11:03:47 +01:00
storage.go Roomserver NID caches (#1335) 2020-08-25 12:32:29 +01:00
transactions_table.go Convert remaining roomserver tables (#1065) 2020-05-27 11:03:47 +01:00