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
Christoph Settgast
d70848c332
CGO disabled to allow running on older distros
...
with CGO we are linking to whatever glibc is in ubuntu-latest, which may
not be present in other distros (Think older Debian, Alpine)
In addition, the docker build with alpine already (implicitly) does not
use CGO, as CGO is still not supported with musl officially if I
understand the following issue correctly: https://github.com/golang/go/issues/19938
So disabling CGO in the released binaries and in the README instructions harmonizes
the behaviour across docker and non-docker builds.
Signed-off-by: Christoph Settgast <csett86_git@quicksands.de>
2024-01-13 23:24:22 +01:00
kegsay
ef2aa0a521
Merge pull request #392 from matrix-org/kegan/space-leak
...
bugfix: ensure metadata about space children doesn't leak to active connections
2024-01-12 12:28:55 +00:00
Kegan Dougal
4c6d504022
bugfix: ensure metadata about space children doesn't leak to active connections
...
If Alice and Bob are in the same space, and Bob creates a child in that space,
Alice would incorrectly receive global metadata about that child room if Alice
was live syncing at that time. This leak did not expose confidential information
as Alice could receive all that metadata via the /rooms/{roomId}/hierarchy endpoint
already. However, it would cause clients to put the space child room into the room
list which would be very confusing, as it would have no timeline and no other data.
2024-01-12 12:15:38 +00:00
Kegan Dougal
b0d20cefac
v0.99.14
v0.99.14
2024-01-08 10:33:04 +00:00
kegsay
49c92260b8
Merge pull request #385 from nisbet-hubbard/patch-2
...
Fix unix socket permissions
2024-01-08 10:26:03 +00:00