dendrite/roomserver/api
Kegsay 6353b0b7e4
MSC2836: Threading - part one (#1589)
* Add mscs/hooks package, begin work for msc2836

* Flesh out hooks and add SQL schema

* Begin implementing core msc2836 logic

* Add test harness

* Linting

* Implement visibility checks; stub out APIs for tests

* Flesh out testing

* Flesh out walkThread a bit

* Persist the origin_server_ts as well

* Edges table instead of relationships

* Add nodes table for event metadata

* LEFT JOIN to extract origin_server_ts for children

* Add graph walking structs

* Implement walking algorithm

* Add more graph walking tests

* Add auto_join for local rooms

* Fix create table syntax on postgres

* Add relationship_room_id|servers to the unsigned section of events

* Persist the parent room_id/servers in edge metadata

Other events cannot assert the true room_id/servers for the
parent event, only make claims to them, hence why this is
edge metadata.

* guts to pass through room_id/servers

* Refactor msc2836 to allow handling from federation

* Add JoinedVia to PerformJoin responses

* Fix tests; review comments
2020-11-19 11:34:59 +00:00
..
alias.go Convert everything but serverkeyapi to inthttp (#1096) 2020-06-04 15:43:07 +01:00
api_trace.go Implement forgetting about rooms (#1572) 2020-11-05 10:19:23 +00:00
api.go Implement forgetting about rooms (#1572) 2020-11-05 10:19:23 +00:00
input.go Pass pointers to events — reloaded (#1583) 2020-11-16 15:44:53 +00:00
output.go Pass pointers to events — reloaded (#1583) 2020-11-16 15:44:53 +00:00
perform.go MSC2836: Threading - part one (#1589) 2020-11-19 11:34:59 +00:00
query.go Pass pointers to events — reloaded (#1583) 2020-11-16 15:44:53 +00:00
wrapper.go Pass pointers to events — reloaded (#1583) 2020-11-16 15:44:53 +00:00