Compare commits

..

24 commits

Author SHA1 Message Date
Jacob Taylor
f6f9730e19 sender_workers scaling. this time, with feeling!
Some checks failed
Release Docker Image / define-variables (push) Failing after 1s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Has been skipped
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Has been skipped
Release Docker Image / merge (push) Has been skipped
Rust Checks / Format (push) Failing after 3s
Rust Checks / Clippy (push) Failing after 8s
Rust Checks / Cargo Test (push) Failing after 16s
2025-06-21 08:13:30 -07:00
Jacob Taylor
3fae827e2b vehicle loan documentation now available at window 7 2025-06-21 08:06:15 -07:00
Jacob Taylor
d157ff25a4 lock the getter instead ??? c/o M 2025-06-21 08:04:00 -07:00
Jacob Taylor
d88dd042f4 make fetching key room events less smart 2025-06-21 08:02:52 -07:00
Jacob Taylor
af5330f642 change rocksdb stats level to 3
scale rocksdb background jobs and subcompactions

change rocksdb default error level to info from error

delete unused num_threads function

fix warns from cargo
2025-06-21 08:02:49 -07:00
nexy7574
da659f17ab modify more log strings so they're more useful than not 2025-06-21 08:02:28 -07:00
nexy7574
d3321390df When in doubt, log all the things 2025-06-21 08:02:28 -07:00
nexy7574
a02a82f316 log which room struggled to get mainline depth 2025-06-21 08:02:28 -07:00
nexy7574
4e92962694 more logs 2025-06-21 08:02:28 -07:00
nexy7574
86f369d8d6 Unsafe, untested, and potentially overeager PDU sanity checks 2025-06-21 08:02:28 -07:00
nexy7574
01d1224d1c Fix room ID check 2025-06-21 08:02:28 -07:00
nexy7574
65e2061447 Kick up a fuss when m.room.create is unfindable 2025-06-21 08:02:28 -07:00
nexy7574
9246f3be44 Note about ruma#2064 in TODO 2025-06-21 08:02:28 -07:00
nexy7574
c23912fd42 fix an auth rule not applying correctly 2025-06-21 08:02:28 -07:00
nexy7574
94c4d85716 Always calculate state diff IDs in syncv3
seemingly fixes #779
2025-06-21 08:02:28 -07:00
Jacob Taylor
6ef00341ea upgrade some settings to enable 5g in continuwuity
enable converged 6g at the edge in continuwuity

better stateinfo_cache_capacity default

better roomid_spacehierarchy_cache_capacity

make sender workers default better and clamp value to core count

update sender workers documentation

add more parallelism_scaled and make them public

update 1 document
2025-06-21 08:02:05 -07:00
Jacob Taylor
45ddec699a add futures::FutureExt to make cb15ac3c01 work 2025-06-21 07:52:20 -07:00
Jason Volk
ec8abacbf3 Mitigate large futures
Signed-off-by: Jason Volk <jason@zemos.net>
2025-06-21 07:52:20 -07:00
Jacob Taylor
43c5f2572e bump the number of allowed immutable memtables by 1, to allow for greater flood protection
this should probably not be applied if you have rocksdb_atomic_flush = false (the default)
2025-06-21 07:52:20 -07:00
Jacob Taylor
d263c52ddc probably incorrectly delete support for non-standardized matrix srv record 2025-06-21 07:52:20 -07:00
Jacob Taylor
4b0f2c3dfa Fix spaces rooms list load error. rev2 2025-06-21 07:52:20 -07:00
Jade Ellis
b5a6b56d53 fix: Filter out invalid replacements from bundled aggregations 2025-06-21 07:52:20 -07:00
Jade Ellis
5528911e2a feat: Add bundled aggregations support
Add support for the m.replace and m.reference bundled
aggregations.
This should fix plenty of subtle client issues.
Threads are not included in the new code as they have
historically been written to the database. Replacing the
old system would result in issues when switching away from
continuwuity, so saved for later.
Some TODOs have been left re event visibility and ignored users.
These should be OK for now, though.
2025-06-21 07:52:20 -07:00
Jade Ellis
1b08e0e33d refactor: Promote handling unsigned data out of timeline
Also fixes:
- Transaction IDs leaking in event route
- Age not being set for event relations or threads
- Both of the above for search results

Notes down concern with relations table
2025-06-21 07:52:20 -07:00
2 changed files with 37 additions and 16 deletions

38
Cargo.lock generated
View file

@ -1105,7 +1105,7 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "980c2afde4af43d6a05c5be738f9eae595cff86dce1f38f88b95058a98c027f3"
dependencies = [
"crossterm",
"crossterm 0.29.0",
]
[[package]]
@ -1165,7 +1165,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5282b45c96c5978c8723ea83385cb9a488b64b7d175733f48d07bf9da514a863"
dependencies = [
"crokey-proc_macros",
"crossterm",
"crossterm 0.29.0",
"once_cell",
"serde",
"strict",
@ -1177,7 +1177,7 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ea0218d3fedf0797fa55676f1964ef5d27103d41ed0281b4bbd2a6e6c3d8d28"
dependencies = [
"crossterm",
"crossterm 0.29.0",
"proc-macro2",
"quote",
"strict",
@ -1240,6 +1240,23 @@ version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
[[package]]
name = "crossterm"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"
dependencies = [
"bitflags 2.9.1",
"crossterm_winapi",
"futures-core",
"mio",
"parking_lot",
"rustix 0.38.44",
"signal-hook",
"signal-hook-mio",
"winapi",
]
[[package]]
name = "crossterm"
version = "0.29.0"
@ -1250,7 +1267,6 @@ dependencies = [
"crossterm_winapi",
"derive_more",
"document-features",
"futures-core",
"mio",
"parking_lot",
"rustix 1.0.7",
@ -3772,8 +3788,11 @@ dependencies = [
[[package]]
name = "resolv-conf"
version = "0.7.4"
source = "git+https://forgejo.ellis.link/continuwuation/resolv-conf?rev=56251316cc4127bcbf36e68ce5e2093f4d33e227#56251316cc4127bcbf36e68ce5e2093f4d33e227"
version = "0.7.1"
source = "git+https://forgejo.ellis.link/continuwuation/resolv-conf?rev=200e958941d522a70c5877e3d846f55b5586c68d#200e958941d522a70c5877e3d846f55b5586c68d"
dependencies = [
"hostname",
]
[[package]]
name = "rgb"
@ -4137,10 +4156,11 @@ checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
[[package]]
name = "rustyline-async"
version = "0.4.6"
source = "git+https://forgejo.ellis.link/continuwuation/rustyline-async?rev=e9f01cf8c6605483cb80b3b0309b400940493d7f#e9f01cf8c6605483cb80b3b0309b400940493d7f"
version = "0.4.3"
source = "git+https://forgejo.ellis.link/continuwuation/rustyline-async?rev=deaeb0694e2083f53d363b648da06e10fc13900c#deaeb0694e2083f53d363b648da06e10fc13900c"
dependencies = [
"crossterm",
"crossterm 0.28.1",
"futures-channel",
"futures-util",
"pin-project",
"thingbuf",

View file

@ -381,7 +381,7 @@ features = [
"unstable-msc4121",
"unstable-msc4125",
"unstable-msc4186",
"unstable-msc4203", # sending to-device events to appservices
"unstable-msc4203", # sending to-device events to appservices
"unstable-msc4210", # remove legacy mentions
"unstable-extensible-events",
"unstable-pdu",
@ -556,11 +556,11 @@ rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
git = "https://forgejo.ellis.link/continuwuation/tracing"
rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
# adds a tab completion callback: https://forgejo.ellis.link/continuwuation/rustyline-async/src/branch/main/.patchy/0002-add-tab-completion-callback.patch
# adds event for CTRL+\: https://forgejo.ellis.link/continuwuation/rustyline-async/src/branch/main/.patchy/0001-add-event-for-ctrl.patch
# adds a tab completion callback: https://forgejo.ellis.link/continuwuation/rustyline-async/commit/de26100b0db03e419a3d8e1dd26895d170d1fe50
# adds event for CTRL+\: https://forgejo.ellis.link/continuwuation/rustyline-async/commit/67d8c49aeac03a5ef4e818f663eaa94dd7bf339b
[patch.crates-io.rustyline-async]
git = "https://forgejo.ellis.link/continuwuation/rustyline-async"
rev = "e9f01cf8c6605483cb80b3b0309b400940493d7f"
rev = "deaeb0694e2083f53d363b648da06e10fc13900c"
# adds LIFO queue scheduling; this should be updated with PR progress.
[patch.crates-io.event-listener]
@ -580,11 +580,12 @@ rev = "9c8e51510c35077df888ee72a36b4b05637147da"
git = "https://forgejo.ellis.link/continuwuation/hyper-util"
rev = "e4ae7628fe4fcdacef9788c4c8415317a4489941"
# Allows no-aaaa option in resolv.conf
# Use 1-indexed line numbers when displaying parse error messages
# allows no-aaaa option in resolv.conf
# bumps rust edition and toolchain to 1.86.0 and 2024
# use sat_add on line number errors
[patch.crates-io.resolv-conf]
git = "https://forgejo.ellis.link/continuwuation/resolv-conf"
rev = "56251316cc4127bcbf36e68ce5e2093f4d33e227"
rev = "200e958941d522a70c5877e3d846f55b5586c68d"
#
# Our crates