1868 Commits

Author SHA1 Message Date
kegsay
fb778e3204
Merge pull request #7 from matrix-org/richvdh-patch-1
Update README.md
2021-08-11 15:04:23 +01:00
Richard van der Hoff
03c56d3bf8
Update README.md 2021-08-11 14:53:44 +01:00
Kegan Dougal
0462b515d0 Update docs 2021-08-11 14:40:27 +01:00
Kegan Dougal
35ce28bb96 Add room_list API stubs 2021-08-11 14:37:52 +01:00
kegsay
2916a5274e
Update README.md 2021-08-10 16:10:00 +01:00
Kegan Dougal
f52dc8bff9 Flesh out docs more, finish room_member stream tests 2021-08-10 16:05:18 +01:00
Kegan Dougal
9266a3a834 More bugfixes and tests
Specifically, /sync requests with the "latest" sync token should not
block for paginated requests.
2021-08-10 14:54:29 +01:00
Kegan Dougal
91d3126a66 More room_member stream tests and bugfixes 2021-08-10 13:04:56 +01:00
Kegan Dougal
2b33bca720 Test pagination in the room_member stream 2021-08-06 18:34:40 +01:00
Kegan Dougal
04f52e5dc6 Add limited test for room_member 2021-08-06 18:12:41 +01:00
Kegan Dougal
3acec84f21 Initial test for room_member stream 2021-08-06 16:29:25 +01:00
Kegan Dougal
d2af339072 Initial cut paginated room member impl 2021-08-06 15:39:36 +01:00
Kegan Dougal
60c3368279 Add AfterEpochSnapshotID to events table 2021-08-06 12:38:21 +01:00
Kegan Dougal
a8ced5411d room_member stream: implement streaming data in range, start work on pagination
This stream uses the event NID, not its own position. Add a snapshot ID to events
in the events table in preparation for loading state snapshots from an event NID.
2021-08-06 12:14:03 +01:00
Kegan Dougal
d7b4b5c849 Dev notes for room members 2021-08-05 18:41:09 +01:00
Kegan Dougal
8b920df816 Track joined members in-memory for use with the notifier 2021-08-05 17:57:40 +01:00
Kegan Dougal
7d42f1413a Add stub room_member stream 2021-08-05 17:28:38 +01:00
Kegan Dougal
cb3e974d01 Add to_device test for 'If 2 sessions exist, both session must ACK the position before the event is deleted' 2021-08-05 13:03:55 +01:00
Kegan Dougal
8c27fbb877 Implement to_device message cleanup after all sessions have ACKed the message 2021-08-05 12:50:03 +01:00
Kegan Dougal
9c967ffe2a Implement to_device limits
- Fix a bug where copies of `Token` didn't copy the position (swap to actual arrays not slices)
- Modify the interface for `DataInRange` to allow it to return an `upTo` value. Required because
  requesting positions 10-50 when the limit is 20 may return events between 10-30, meaning the
  to position needs updating else the events between 30-50 will be lost.
2021-08-05 10:54:04 +01:00
Kegan Dougal
33f0ff6fca Refactor how sync v3 requests are combined to ensure stickiness
This is simpler, if somewhat inefficient. With tests.
2021-08-03 18:06:36 +01:00
Kegan Dougal
075a0d19a0 Add a Streamer interface and make liberal use of it
This will be extended further, because where we're going, we need a
lot of streams...
2021-08-03 17:43:41 +01:00
Kegan Dougal
89a6c2e3d7 Refactor token handling to more easily support additional positions 2021-08-03 16:25:57 +01:00
Kegan Dougal
5b4b1a10ed Glue to_device stuff into the v3 handler, refactor to prevent import cycles 2021-08-03 12:06:09 +01:00
Kegan Dougal
0075b46bc9 Flesh out to_device_table with tests, update gjson dep 2021-08-03 09:33:38 +01:00
Kegan Dougal
bcfe9b051f Add to_device table; factor out Chunkify so we can re-use it 2021-08-02 16:45:09 +01:00
Kegan Dougal
9fdf3901df Hook up the notifier and test it
Test that v3 requests can time out, be notified when v2 returns a response,
can return immediately.
2021-07-23 16:40:32 +01:00
Kegan Dougal
90dceee6f6 Add V2DataReceiver interface and indirect via SyncV3Handler
This allows us to notify the Notifier as well as store the data
in the database. Reshuffle where streams live (it's a sync v3 concept).
2021-07-23 15:39:41 +01:00
Kegan Dougal
edd3138fbb Cargo-cult notifier from dendrite 2021-07-23 14:06:18 +01:00
Kegan Dougal
f3e6b563d4 Refactor tests; add timeout field with token comparisons 2021-07-23 12:23:54 +01:00
Kegan Dougal
df120a5341 Passing typing stream test 2021-07-23 11:37:33 +01:00
Kegan Dougal
f03669ff31 Improve logging; add more typing stream code 2021-07-23 11:07:03 +01:00
Kegan Dougal
749e4d413e Add integration tests on the http handler 2021-07-21 16:35:36 +01:00
Kegan Dougal
ea0fac859a Factor out psql test rig 2021-07-21 15:28:31 +01:00
Kegan Dougal
7ec14bb8a5 Add filter sql and tests 2021-07-21 15:15:50 +01:00
Kegan Dougal
f8563c0c1b Flesh out request/response glue code 2021-07-21 15:03:09 +01:00
Kegan Dougal
7f8d84d79e Add filter tables; remove alice dep 2021-07-21 12:12:57 +01:00
Kegan Dougal
1178f7381e Docs 2021-07-21 10:30:04 +01:00
Kegan Dougal
747d85e87c Map Auth header to user via /whoami; add query for highest nid
Add stub room list stream
2021-06-16 18:56:31 +01:00
Kegan Dougal
1df6237cb4 Add last (un)confirmed tokens to sessions
Also make session IDs an int64. Add tests.
2021-06-16 18:11:40 +01:00
Kegan Dougal
e09c749bdc Add Storage and put Accumulator inside it 2021-06-16 17:18:04 +01:00
Kegan Dougal
fc35269134 Fix test data 2021-06-15 17:43:13 +01:00
Kegan Dougal
965e4e57d0 Fix bug whereby membership logs accumulated for display name changes 2021-06-15 17:37:14 +01:00
Kegan Dougal
9588597a67 Modify snapshot ref table to track entities 2021-06-15 17:26:17 +01:00
Kegan Dougal
49728c3c12 clarify bits 2021-06-11 17:20:32 +01:00
Kegan Dougal
1b28768ca2 Fix tests 2021-06-11 14:47:39 +01:00
Kegan Dougal
5fa1548a27 Add membership log accumulator tests 2021-06-11 14:07:25 +01:00
Kegan Dougal
ba8a0a539c Append membership logs in the accumulator 2021-06-11 13:21:40 +01:00
Kegan Dougal
b1080c4e8a Add membership log table 2021-06-11 12:24:41 +01:00
Kegan Dougal
91c985755d Fix tests 2021-06-10 18:10:47 +01:00