1829 Commits

Author SHA1 Message Date
Kegan Dougal
35c9fd4d95 Remove spurious return 2024-05-17 17:10:05 +01:00
Kegan Dougal
af1f34861e Ensure txns are closed so we can wipe the db for other tests 2024-05-17 16:09:02 +01:00
Kegan Dougal
5028f93f83 If there's no updates, don't insert anything 2024-05-17 15:37:45 +01:00
Kegan Dougal
fcd9b490f9 Debug logging 2024-05-17 15:20:18 +01:00
Kegan Dougal
b6f2f9d273 Use a CURSOR 2024-05-17 14:48:08 +01:00
Kegan Dougal
b383ed0d82 Add migrations and refactor internal structs 2024-05-17 13:45:14 +01:00
Kegan Dougal
2cd9a81ab2 Add DeviceListTable
Shift over unit tests from DeviceDataTable
2024-05-17 09:37:38 +01:00
Kegan Dougal
693587ef7e v0.99.17 v0.99.17 2024-05-10 14:25:32 +01:00
Kegan Dougal
0d22cf1da5
Merge pull request #432 from matrix-org/kegan/device-list-updates
Ensure device list updates are robust to race conditions and network failures
2024-05-10 10:35:09 +01:00
Kegan Dougal
150d9d6371
Merge pull request #433 from matrix-org/kegan/sign
Sign releases
2024-05-09 16:37:07 +01:00
Kegan Dougal
39f0d220e0 Maybe sign releases very-good-sign-test 2024-05-09 16:03:29 +01:00
Kegan Dougal
f564f2d774 Redo the device data unit tests
They were A) confusing and B) testing the wrong thing as they got refactored
after the bad refactor of the source code..
2024-05-09 15:32:21 +01:00
Kegan Dougal
c5b0afb2be bugfix: ensure we send back device list updates at the correct time
Otherwise we can cause lost device list updates if the client resets
the connection (as the device list update won't be in any in-memory cache).
2024-05-09 12:36:18 +01:00
Kegan Dougal
5816c60e33 Add SELECT .. FOR UPDATE clauses to DeviceDataTable
As we are selecting... for updates. Without this, we can drop
updates to the floor incorrectly.

See https://github.com/matrix-org/sliding-sync/issues/430
2024-05-08 14:26:24 +01:00
Kegan Dougal
8c76aad4e9
Merge pull request #425 from csett86/patch-1
README: document prebuild binaries
2024-04-26 16:42:35 +01:00
Christoph Settgast
3e0162d70b
README: document prebuild binaries
Now that there is a release which is statically built, advertise it in the README as well
2024-04-26 17:36:50 +02:00
Kegan Dougal
66fd58bc49 v0.99.16 v0.99.16 2024-04-26 13:42:42 +01:00
Kegan Dougal
91d34b6b88
Merge pull request #424 from matrix-org/kegan/msc4115-unstable
Check for unstable prefix in MSC4115
2024-04-26 13:41:23 +01:00
Kegan Dougal
9620a624d7 Comment on escaped dots 2024-04-26 12:16:39 +01:00
Kegan Dougal
0af85096aa Check for unstable prefix in MSC4115 2024-04-25 15:15:42 +01:00
Kegan Dougal
abf5aeff82
Merge pull request #422 from matrix-org/kegan/db-size
Clean the syncv3_snapshots table periodically
2024-04-24 16:55:25 +01:00
Kegan Dougal
b0ab21ea90
Merge pull request #423 from matrix-org/kegan/msc4115
Remove MSC4115 unsigned.membership field
2024-04-24 16:55:13 +01:00
Kegan Dougal
c4f2617a2d Remove MSC4115 unsigned.membership field
With integration tests. This is required because this field
is scoped per-v2-user, but because the proxy deduplicates events
it means we might see the membership value for a different user.
We can't set this field correctly as we lack that information, so
rather than lie to clients instead just delete the field.

Fixes https://github.com/matrix-org/sliding-sync/issues/421
2024-04-24 16:20:07 +01:00
Kegan Dougal
a1b5e48529 Run the cleaner on startup 2024-04-22 08:59:23 +01:00
Kegan Dougal
5dae70069b Clean the syncv3_snapshots table periodically
Also cleans the transaction table periodically.

Fixes https://github.com/matrix-org/sliding-sync/issues/372

On testing, this cuts db size to about 1/3 of its original size.
2024-04-22 08:55:05 +01:00
Kegan Dougal
c18961bb46
Merge pull request #418 from matrix-org/kegan/account-data-dupe
bugfix: don't send dupe room account data
2024-04-12 15:03:01 +01:00
Kegan Dougal
236f065953 Given we only process 1 update in this function, return not break 2024-04-12 08:34:37 +01:00
Kegan Dougal
48b5a549b6 Fix sending dupe room account data
Fixes #417
2024-04-11 17:16:26 +01:00
Kegan Dougal
a7152348ac Add regression test for https://github.com/matrix-org/sliding-sync/issues/417 2024-04-11 16:08:33 +01:00
kegsay
8750e1c435
Merge pull request #410 from matrix-org/kegan/race-tests
Fix race conditions in tests
2024-03-11 15:01:26 +00:00
Kegan Dougal
05a82a43dc Same race pattern as timeSince for timeSleep 2024-03-11 12:06:13 +00:00
Kegan Dougal
4d54faa1a6 Fix remaining race conditions; add -race to CI 2024-03-11 10:30:03 +00:00
Kegan Dougal
c7dd361ca6 Use atomic.Bool rather than bool in tests to fix race detector issues 2024-03-11 10:22:18 +00:00
kegsay
cfff8bccb7
Merge pull request #393 from csett86/disable-cgo
CGO disabled to allow running on older distros
2024-03-05 13:57:39 +00:00
kegsay
6db85e6db0
Merge pull request #395 from maxkratz/hotfix/readme-params-layout
Fixes the spacing for the ENV list in `README.md` doc
2024-03-05 13:54:33 +00:00
kegsay
71598947e4
Merge pull request #406 from matrix-org/kegan/sentry-user
bugfix: ensure sentry username/id values are correct
2024-03-05 13:54:06 +00:00
Kegan Dougal
905f815794 bugfix: ensure sentry username/id values are correct
Previously there were wrong under high concurrency due to
using the global hub instead of a per-request hub.
2024-03-05 11:30:05 +00:00
kegsay
30f8c5b308
Merge pull request #405 from matrix-org/kegan/spans
Add more spans for live updates; change when we early return from buffered events
2024-02-26 14:23:36 +00:00
Kegan Dougal
8ccb0185b3 Include mutexes in spans 2024-02-26 13:01:18 +00:00
Kegan Dougal
dcb8854001 Add more spans for live updates; change when we early return from buffered events
- Add more spans to live updates to account for more time spent in various functions.
- When there are a lot of stacked updates in the buffer, return after processing 100
  of them rather than relying on >=50 list operations. List operations isn't a good
  proxy for the amount of work being done, as the majority of work updates are things
  like: receipts, typing, device list updates. This means we will return faster than
  before when we have stacked updates, reducing perceived latency, despite having to
  still go through the entire buffer.
2024-02-26 12:53:57 +00:00
kegsay
a95f3c78c0
Merge pull request #402 from matrix-org/kegan/timeline-cap
Add a sensible timeline_limit cap
2024-02-21 14:08:32 +00:00
Kegan Dougal
6d6a2d6c08 Add a sensible timeline_limit cap
To avoid pathological cases where large timeline limits are requested.
2024-02-21 13:22:20 +00:00
kegsay
aa3ea8fe2e
Merge pull request #401 from matrix-org/kegan/msc4102
Implement MSC4102
2024-02-16 10:02:57 +00:00
Kegan Dougal
782703cd48 Implement MSC4102 2024-02-15 18:02:40 +00:00
Max Kratz
b5044b9755 fixes the spacing for the env list in README.md doc 2024-01-27 16:52:33 +01:00
Kegan Dougal
bbb886efd9 v0.99.15 v0.99.15 2024-01-22 12:12:08 +00:00
kegsay
536a8dfb00
Merge pull request #394 from matrix-org/kegan/dm-avatar-only
Only emit avatars when DM room is set
2024-01-22 12:10:58 +00:00
Kegan Dougal
51b851a48a Add live stream test; correctly calculate avatar changes 2024-01-22 11:33:09 +00:00
Kegan Dougal
08d3ec9745 only use the hero avatar if the room is a DM 2024-01-22 10:34:06 +00:00
Kegan Dougal
8d300dc206 Add avatar regression test 2024-01-22 10:05:32 +00:00