1806 Commits

Author SHA1 Message Date
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
kegsay
e6a2e67195
Merge pull request #390 from matrix-org/kegan/fallback-key-types-fix
bugfix: correctly tell clients when the fallback key has been used
2024-01-05 17:33:04 +00:00
Kegan Dougal
eae54fbcb7 bugfix: send [] initially when the poller starts up
This ensures we tell clients about used/missing fallback keys initially.
2024-01-05 11:20:33 +00:00
Kegan Dougal
0bd026fc09 bugfix: correctly tell clients when the fallback key has been used
Fixes a class of unable to decrypt errors caused when the fallback
key was used but the client was unaware.
2024-01-04 17:06:28 +00:00
nisbet-hubbard
cef9361c6c
Use 0222 2023-12-09 13:50:59 +08:00
nisbet-hubbard
6f99876d0e
Clean-up 2023-12-09 13:01:46 +08:00
nisbet-hubbard
c63e69d040
Update comment 2023-12-09 11:44:13 +08:00
nisbet-hubbard
5777edbcad
Fix unix socket permissions 2023-12-09 11:31:08 +08:00
David Robertson
a8e9c56636
Bump version string, missed in v0.99.13 2023-12-08 14:11:28 +00:00
David Robertson
042010c514
Remind releaser to bump the version string 2023-12-08 14:10:55 +00:00
kegsay
e3b110e13b
Update README.md v0.99.13 2023-11-24 16:08:50 +00:00
kegsay
c31eb3e661
Merge pull request #382 from matrix-org/kegan/conn-map-tests
bugfix: when connections expire, only delete the affected connection
2023-11-24 15:31:04 +00:00
Kegan Dougal
81df9a54d2 Don't pull in complement for UTs as it needs libolm 2023-11-24 15:25:53 +00:00
Kegan Dougal
cc95ebe1e4 Review comments 2023-11-24 15:23:35 +00:00
Kegan Dougal
aec550f9b4 Better comments 2023-11-24 15:19:08 +00:00
Kegan Dougal
129dea816a bugfix: fix 2 bugs with connection deletion code
- Connections are unique for the 3-uple (user, device, conneciton) IDs.
  The code was only checking (user, device). This means we would delete
  ALL connections for a device, is ANY connection expired.
- ...except we wouldn't, because of the 2nd bug, which is the deletion
  code itself. This is missing `i--` so we will not do an ID check on
  the element after a deleted index.

Both of these issues have now been fixed.
2023-11-24 14:47:47 +00:00
Kegan Dougal
86f9333fdd Add failing test 2023-11-24 14:30:08 +00:00
Kegan Dougal
b1fd9a1218 Log errors when removing unknown keys 2023-11-24 14:16:13 +00:00
Kegan Dougal
eb351ff9b8 Add ConnMap UTs; tweak API shape to be a bit more sane 2023-11-24 13:18:24 +00:00