Kegan Dougal
7d42f1413a
Add stub room_member stream
2021-08-05 17:28:38 +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
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
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
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
49728c3c12
clarify bits
2021-06-11 17:20:32 +01:00
Kegan Dougal
b0146bb031
Remember since tokens for each device
...
Tie it to the device so a since-less v3 sync still pulls in stored pollers
2021-06-09 18:13:55 +01:00
Kegan Dougal
29b17b89e5
Shuffle package names around so we don't clash with Go terminology for v2 and v3
2021-06-09 17:27:54 +01:00
Kegan Dougal
159530bed1
Add v2 polling; chunk event insertion to support Matrix HQ
2021-06-04 13:02:28 +01:00
Kegan Dougal
502274b475
Dump v2 responses into the accumulator
2021-06-03 16:18:01 +01:00
Kegan Dougal
9d372e15de
Initial commit
2021-05-14 16:49:33 +01:00