Kegan Dougal
3c2275a935
Protect against dropped databases
...
Helps fix the worst of https://github.com/matrix-org/sliding-sync/issues/448
2024-06-04 15:26:58 +01:00
Kegan Dougal
e295c31ab7
Ensure null is not sent when we mean []
2024-05-20 13:57:24 +01:00
Kegan Dougal
b383ed0d82
Add migrations and refactor internal structs
2024-05-17 13:45:14 +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
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
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
Kegan Dougal
c5addab65d
Add more OTLP tags
...
This makes it easier to xref with EX rageshakes
2023-08-24 11:24:08 +01:00
David Robertson
cd62d3ea84
Fix existing tests
2023-06-16 10:58:58 +01:00
David Robertson
cf21e5b072
interpret as initial
2023-06-16 10:34:41 +01:00
David Robertson
a0d02ea68d
Make *
mean "everything" and []
mean nothing
...
honestly I'm not thrilled with this
2023-06-16 10:34:40 +01:00
David Robertson
b1e0684cf5
Pass AllSubscribedRooms to existing test
2023-06-16 10:34:12 +01:00
David Robertson
6637283644
Make extension scoping work with only one field
2023-06-16 10:14:37 +01:00
kegsay
a7cc20809e
Merge pull request #141 from matrix-org/kegan/receipt-perf1
...
perf: reduce the time taken to pull out your own receipts
2023-06-06 11:25:06 +01:00
kegsay
8f2e0697f6
Apply suggestions from code review
...
Co-authored-by: David Robertson <davidr@element.io>
2023-06-05 13:49:42 +01:00
Kegan Dougal
38f9cd0de8
perf: reduce the time taken to pull out your own receipts
...
By doing a single bulk query rather than one-per-room.
2023-06-02 18:38:00 +01:00
David Robertson
aa5946e6e5
Omit "did not increment since token" from Sentry
...
Out of our control and causes Sentry noise. Alternatively, we could make
this a logged notice/event if we want to track how often this happens.
2023-05-25 19:38:41 +01:00
David Robertson
bca1b68a08
Pumb ctx
s through to HandleLiveUpdate
...
so that Sentry errors pick up HTTP information from the context.
2023-05-25 19:37:18 +01:00
David Robertson
e1bc972ff7
Update the to-device table
2023-05-02 18:16:14 +01:00
David Robertson
601e3fce49
More sentry logging
2023-04-13 15:02:46 +01:00
David Robertson
d27dc37641
Additional context plumbing
2023-04-05 18:24:02 +01:00
David Robertson
1f3f14f30c
Report errors to Sentry, plumbing ctxs if needed
2023-04-05 18:24:01 +01:00
David Robertson
02456f37de
Merge branch 'dmr/finer-extensions-account-data' into dmr/fine-extensions-receipts
2023-04-03 20:11:45 +01:00
David Robertson
4ad28818d2
Batch of comments
2023-04-03 19:29:11 +01:00
David Robertson
53c4c78442
Scope receipts on incremental syncs
2023-04-03 13:57:16 +01:00
David Robertson
bfd26e96bf
Scope receipts on initial sync
2023-04-03 12:51:32 +01:00
David Robertson
c6b53a4e6e
AppendLive: skip out-of-scope rooms
2023-03-31 17:46:33 +01:00
David Robertson
c8827bba3f
ProcessInitial: skip out-of-scope rooms
2023-03-31 15:42:17 +01:00
David Robertson
cca6560d34
shouldProcessUpdate -> RoomInScope
2023-03-31 15:39:44 +01:00
David Robertson
e7e7b586d8
Cleanup debug
2023-03-30 17:57:05 +01:00
David Robertson
fc597f45ec
Another fix. Force push coming soon
2023-03-29 16:43:41 +01:00
David Robertson
2a313747fd
Use new thingy
2023-03-29 16:39:12 +01:00
David Robertson
81c8a3798f
It's okay to range over nil
2023-03-28 19:19:53 +01:00
David Robertson
99767d4535
Fix typo
2023-03-28 19:19:46 +01:00
David Robertson
566979e4f0
Ignore typing events that are out-of-scope
2023-03-28 17:46:35 +01:00
David Robertson
fdbd33be00
Pass the list of rooms in lists to extensions
2023-03-28 17:28:40 +01:00
David Robertson
a79fa88f1b
slices are nillable
2023-03-28 16:52:00 +01:00
David Robertson
641916b67b
New fields are sticky
2023-03-28 15:37:03 +01:00
David Robertson
00d8e6297c
Define new Lists and Rooms fields
2023-03-28 13:55:52 +01:00
David Robertson
0de818a796
s/Enabled/Core/g
2023-03-28 13:53:57 +01:00
Kegan Dougal
c2a3c53542
tracing: do runtime/trace and OTLP at the same time
2023-02-20 14:57:49 +00:00
Kegan Dougal
3c964de004
bugfix: ensure we don't append nothing else we can end up with null arrays
...
Caught by element-web cypress tests, which consistently failed.
2023-02-10 14:02:21 +00:00
Kegan Dougal
c063352508
Add account data aggregation; with tests
2023-02-10 12:53:23 +00:00
Kegan Dougal
b3d76e90be
Rejig extensions layout
2023-02-10 10:56:41 +00:00
Kegan Dougal
5a946323c1
Aggregate typing responses
2023-02-10 10:46:47 +00:00
Kegan Dougal
f67eefc5bb
Automatically handle ApplyDelta for each extension
2023-02-10 10:26:46 +00:00
Kegan Dougal
b35e745255
Simplify how new extensions can be hooked in
2023-02-09 12:02:32 +00:00
Kegan Dougal
3b4b6b77d6
s/ProcessLive/AppendLive/g to make it clear what extensions need to do
2023-02-09 10:27:30 +00:00
Kegan Dougal
8f1366af67
bugfix: ensure typing/receipts updates aggregate correctly
...
Found these by adding a bunch of tests which is now possible
with the refactoring!
2023-02-08 18:27:44 +00:00
Kegan Dougal
b25f5bd129
extensions refactor: expose a consistent interface for live updates
...
Previously we sometimes used initial loading code, sometimes not and
had to remember to `return`. Keep the code paths separate and let
the extension decide what to do.
2023-02-08 17:37:49 +00:00