153 Commits

Author SHA1 Message Date
Till Faelligen
d2cf57de45
Merge branch 'main' of github.com:matrix-org/sliding-sync into s7evink/typing 2023-08-02 09:11:23 +02:00
David Robertson
9a787d08ab
Add extra integration test 2023-08-01 17:02:21 +01:00
Till Faelligen
a28371506b
Merge branch 'main' of github.com:matrix-org/sliding-sync into s7evink/typing 2023-08-01 13:24:26 +02:00
Till Faelligen
1b1d00db95
Update test a bit 2023-08-01 13:11:28 +02:00
David Robertson
2cc58cf28a
Merge pull request #146 from matrix-org/dmr/prevent-local-echo-flicker 2023-07-31 16:16:36 +01:00
Till Faelligen
86c4f18c7e
Add test to validate that only one poller is allowed to change typing
notifications
2023-07-31 15:16:54 +02:00
David Robertson
7c5442d7e8
Integration test review comments 2023-07-28 18:55:18 +01:00
David Robertson
d0067008e1
Fix new integration test timing 2023-07-27 13:03:14 +01:00
David Robertson
6e8bbcc052
Don't use txn ID buffering in integration tests 2023-07-27 12:14:10 +01:00
David Robertson
3af5624756
runTestServer: if opts are given, specify MaxDelay explicitly 2023-07-26 13:25:09 +01:00
David Robertson
5904e5a3c7
Make transaction id delay time configurable 2023-07-26 12:23:38 +01:00
David Robertson
142290fa0e
WIP make test pass?? 2023-07-25 19:32:33 +01:00
David Robertson
a8253759c7
Reproduce the problem 2023-07-25 19:08:09 +01:00
Kegan Dougal
0fea507b65 Add malformed tests for room state 2023-07-25 14:41:23 +01:00
Kegan Dougal
d745c90d95 Ignore malformed events
But handle unusual events. With regression test.

Fixes https://github.com/matrix-org/sliding-sync/issues/223
2023-07-25 14:25:30 +01:00
Kegan Dougal
6d49b6cabe Add malformed/unusual events test 2023-07-25 14:18:58 +01:00
Kegan Dougal
bfb980bad8 bugfix: fix deadlock when connections expire due to full buffers
Caused by the fix in https://github.com/matrix-org/sliding-sync/pull/220
2023-07-25 10:16:07 +01:00
kegsay
7380273293
Merge pull request #198 from matrix-org/kegan/fix-backfill-invite
Fix #192: ignore unseen old events
2023-07-12 04:19:49 -07:00
kegsay
b72ad3bded
Merge branch 'main' into dmr/debug-from-stable 2023-07-12 03:41:06 -07:00
Kegan Dougal
e947612ad9 Fix #192: ignore unseen old events 2023-07-11 19:08:32 +01:00
Kegan Dougal
0342a99524 bugfix: prevent clients starving themselves by constantly changing req params
Because the proxy services changes to req params preferentially to live
data, if the client constantly changes the window (e.g due to spidering)
then it can accidentally stop the delivery of live events to the client
until the spidering process is complete. To help address this, we now
process live updates _even if_ we have some data to send to the client.
This is bounded in size to prevent the inverse happening: constantly
seeing new live events which starves changes to req params. This should
hopefully strike the right balance.

With regression test.
2023-07-04 10:52:31 +01:00
Kegan Dougal
5178d71f98 Don't take out another txn when LLing timelines; allow max_conns=1 to work 2023-06-19 17:52:10 +01:00
Kegan Dougal
a59c6635a2 Restart the server, try again 2023-06-19 17:36:41 +01:00
Kegan Dougal
4c661fbdd1 Add db conns test; uncomment DBMaxConns to break the world 2023-06-19 15:56:22 +01:00
David Robertson
1ba3bc268c
Clean up integration test 2023-06-07 13:58:44 +01:00
David Robertson
69689192c6
Integration test?? 2023-06-06 20:55:09 +01:00
Kegan Dougal
afaea53064 feat: add rate limiting
The server will wait 1s if clients:
 - repeat the same request (same `?pos=`)
 - repeatedly hit `/sync` without a `?pos=`.

Both of these failure modes have been seen in the wild.
Fixes #93.
2023-05-22 17:44:04 +01:00
David Robertson
a0af4de308
Fix tests to pass t to addAccount 2023-05-16 12:35:35 +01:00
David Robertson
14a3370da6
Merge branch 'main' into dmr/oidc 2023-05-16 12:28:53 +01:00
David Robertson
193e71199c
Also test using new token before old expires
Works while the old one is still active
2023-05-15 19:59:42 +01:00
David Robertson
9982ab24ee
Use different device names for each test 2023-05-15 19:14:09 +01:00
David Robertson
99f5206063
Don't error on non-alice tokens 2023-05-15 15:33:58 +01:00
David Robertson
c04fd02107
Typo fix 2023-05-15 14:43:00 +01:00
David Robertson
e78a93ac2d
Simplify test 2023-05-15 14:28:34 +01:00
Kegan Dougal
11895cb305 Guard r/w to CheckRequest with a mutex 2023-05-15 14:27:29 +01:00
David Robertson
da46e40de4
Update (and fix) test 2023-05-15 13:47:09 +01:00
David Robertson
3e8f270b09
WIP tests 2023-05-15 10:48:40 +01:00
David Robertson
57b6d381ee
Ensure hlog logs appear in integration tests 2023-05-12 17:38:10 +01:00
David Robertson
558f14aca0
rename test 2023-05-12 15:10:25 +01:00
David Robertson
692341e32b
Prototype integration test 2023-05-12 14:58:10 +01:00
Kegan Dougal
6db92b9054 bugfix: ensure global metadata is consistently made correctly
On startup it was possible for it to miss ChildSpaceRooms which
would then cause a nil panic. With regression test.
2023-05-11 18:19:04 +01:00
Kegan Dougal
cec3fdc9f6 Correct letters; kick ci 2023-05-11 16:45:59 +01:00
Kegan Dougal
83f574dae0 Comments 2023-05-11 16:36:02 +01:00
Kegan Dougal
0538de09fd stopgap fix 2023-05-11 16:33:32 +01:00
Kegan Dougal
6681c33b90 Add regression test for missing messages bug 2023-05-11 12:49:27 +01:00
Kegan Dougal
1d48ebea2f Add conn_id as per the MSC
Also fix a bug whereby required_state would not cause new state
to be sent to clients if it was updated as part of a room subscription.
2023-05-10 17:31:07 +01:00
networkException
4b7754f7d1
Allow setting a log level using environment variables
Signed-off-by: networkException <git@nwex.de>
2023-05-09 20:39:11 +02:00
David Robertson
1aed063047
Make tests use unique device IDs for now
Before we migrate the v3 tables over too
2023-04-28 19:31:13 +01:00
David Robertson
0609cc51d2
Logging tweaks 2023-04-28 18:50:50 +01:00
David Robertson
38aa6b0471
Test tweaks 2023-04-28 18:50:43 +01:00