Benjamin Lee
146465693e
remove sync response cache
...
This cache can serve invalid responses, and has an extremely low hit
rate.
It serves invalid responses because because it's only keyed off
the `since` parameter, but many of the other request parameters also
affect the response or it's side effects. This will become worse once we
implement filtering, because there will be a wider space of parameters
with different responses. This problem is fixable, but not worth it
because of the low hit rate.
The low hit rate is because normal clients will always issue the next
sync request with `since` set to the `prev_batch` value of the previous
response. The only time we expect to see multiple requests with the same
`since` is when the response is empty, but we don't cache empty
responses.
This was confirmed experimentally by logging cache hits and misses over
15 minutes with a wide variety of clients. This test was run on
matrix.computer.surgery, which has only a few active users, but a
large volume of sync traffic from many rooms. Over the test period, we
had 3 hits and 5309 misses. All hits occurred in the first minute, so I
suspect that they had something to do with client recovery from an
offline state. The clients that were connected during the test are:
- element web
- schildichat web
- iamb
- gomuks
- nheko
- fractal
- fluffychat web
- fluffychat android
- cinny web
- element android
- element X android
Fixes : #2
2024-05-16 21:33:06 -07:00
Charles Hall
0afc1d2f50
change rustfmt configuration
...
This change is fully automated, except the `rustfmt.toml` changes and
a few clippy directives to allow specific functions with too many lines
because they are longer now.
2024-05-16 19:11:40 -07:00
Charles Hall
04184c6137
use gender-neutral pronouns
2024-05-16 16:17:40 -07:00
Charles Hall
05be778fbb
stop putting comments in the middle of call chains
...
`rustfmt` doesn't handle this very well.
2024-05-16 16:17:40 -07:00
Charles Hall
1911ad34d9
stop putting comments and code on the same line
2024-05-16 15:22:35 -07:00
Charles Hall
3efe3fb337
remove comments about filtering buggy items
2024-05-16 01:08:48 -07:00
Charles Hall
baab928281
enable too_many_lines lint
...
And just disable it everywhere it fires, I know.
2024-05-14 20:01:24 -07:00
Charles Hall
db4951c5fd
enable semicolon_if_nothing_returned lint
2024-05-14 20:01:24 -07:00
Charles Hall
96e1877639
enable redundant_closure_for_method_calls lint
2024-05-14 20:01:24 -07:00
Charles Hall
c4a9bca16f
enable match_wildcard_for_single_variants lint
2024-05-14 20:01:24 -07:00
Charles Hall
9606f59141
enable manual_let_else lint
2024-05-14 20:01:23 -07:00
Charles Hall
ebae8ceeb0
enable implicit_clone lint
2024-05-14 19:59:43 -07:00
Charles Hall
623824dc0c
enable if_not_else lint
2024-05-14 19:59:40 -07:00
Charles Hall
a32b7c1ac1
enable flat_map_option lint
2024-05-14 16:41:04 -07:00
Charles Hall
da440934bd
enable doc_markdown lint
2024-05-14 16:34:10 -07:00
Charles Hall
9abe4799db
enable string_add lint
2024-05-12 19:01:29 -07:00
Charles Hall
cc5977b4e4
enable same_name_method lint
2024-05-12 18:51:48 -07:00
Charles Hall
052f3088e9
enable let_underscore_must_use lint
2024-05-12 18:51:26 -07:00
Charles Hall
52c2893073
enable if_then_some_else_none lint
2024-05-12 18:51:26 -07:00
Charles Hall
885fc8428c
enable deref_by_slicing lint
2024-05-12 18:51:26 -07:00
Charles Hall
71c48f66c4
enable as_conversions lint
...
There were some very, uh, creative (and inconsistent) ways to convert
between numeric types in here...
2024-05-12 18:51:26 -07:00
Charles Hall
d748544f0e
enable unreachable_pub lint
...
This causes some other lints to start firing too (which is good), but
I'm going to fix them in follow-up commits to keep things organized.
2024-05-12 18:51:26 -07:00
Charles Hall
f27941d510
remove half-baked presence implementation
...
But I'm leaving behind the database state for now in case we want it
back later, so we won't need to do a migration or whatever.
2024-04-30 21:54:55 -07:00
Matthias Ahouansou
2c73c3adbb
fix(sync): send phoney leave event where room state is unknown on invite rejection
2024-04-06 14:12:18 +01:00
Timo Kösters
d2817679e5
refactor: remove previous typing implementation and add sync wakeup for new one
2024-03-22 08:24:17 +01:00
Timo Kösters
6bd7ff4917
improvement: do not save typing edus in db
2024-03-22 07:48:44 +01:00
Timo Kösters
879a8b969d
improvement: use simpler rocksdb config
2024-03-21 15:04:40 +01:00
Matthias Ahouansou
07bb369c5c
perf: remove unnecessary async
2024-03-05 20:20:19 +00:00
Matthias Ahouansou
becaad677f
refactor: use async-aware RwLocks and Mutexes where possible
2024-03-05 14:23:59 +00:00
Timo Kösters
99ab234f40
Merge branch 'fixes' into 'next'
...
Avoid panic when client is confused about rooms
See merge request famedly/conduit!588
2024-02-28 16:19:48 +00:00
Timo Kösters
d7fd89df49
fix: avoid panic when client is confused about rooms
2024-02-28 16:31:41 +01:00
Matthias Ahouansou
21a5fa3ef0
refactor: use re-exported JsOption from ruma rather than directly adding it as a dependency
2024-02-25 10:30:30 +00:00
Matthias Ahouansou
ace9637bc2
replace unwraps with expects
2024-02-23 19:39:30 +00:00
Matthias Ahouansou
976a73a0e5
style: appease rustfmt
2024-02-16 21:19:40 +00:00
Matthias Ahouansou
4c06f329c4
refactor: appease clippy
2024-02-16 21:13:59 +00:00
strawberry
6dcc8b6cf1
bump ruma to latest commit (syncv3 JsOption and push optional power levels)
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-16 20:45:48 +00:00
Charles Hall
ab1fff2642
fix cargo clippy lints
2024-01-24 07:22:37 -08:00
Timo Kösters
75c80df271
Sliding sync improvements and redaction fixes
2023-09-13 20:54:53 +02:00
Timo Kösters
c028e0553c
feat: registration tokens
2023-08-09 18:27:30 +02:00
Timo Kösters
d82c26f0a9
Avatars for sliding sync DMs
2023-08-07 17:54:08 +02:00
Timo Kösters
c1e2ffc0cd
improvement: maybe cross signing really works now
2023-08-07 13:55:44 +02:00
Timo Kösters
acfe381dd3
fix: threads get updated properly
...
Workaround for element web while waiting for https://github.com/matrix-org/matrix-js-sdk/pull/3635
2023-07-31 16:18:23 +02:00
Timo Kösters
d220641d64
Sliding sync subscriptions, e2ee, to_device messages
2023-07-24 10:42:52 +02:00
Timo Kösters
caddc656fb
slightly better sliding sync
2023-07-24 10:42:47 +02:00
Timo Kösters
78e7b711df
fix: better sliding sync
2023-07-10 16:25:33 +02:00
Timo Kösters
e4f769963f
feat: very simple sliding sync implementation
2023-07-06 10:32:25 +02:00
Timo Kösters
a2c3256ced
improvement: better memory usage and admin commands to analyze it
2023-07-03 19:41:07 +02:00
Kévin Commaille
f53ecaa97d
Bump Ruma
2023-03-18 15:03:56 +01:00
Timo Kösters
42b12934e3
Don't crash when a room errors
2023-03-13 10:43:09 +01:00
Timo Kösters
7bdd9660aa
feat: ask for backfill
2023-03-13 10:39:17 +01:00