Skip to content
This repository was archived by the owner on Jan 19, 2026. It is now read-only.

many syncv3 optimisations; database, RocksDB, and misc performance improvements; refactoring and cleanup; fix private read receipt support; and some more bug fixes#636

Merged
x86pup merged 71 commits intomainfrom
strawberry/12-6-2024
Dec 16, 2024
Merged

Conversation

@x86pup
Copy link
Copy Markdown
Owner

@x86pup x86pup commented Dec 12, 2024

  • syncv3 was further heavily optimised, greatly improving client user experience
  • more general performance improvements, parallelism, and more asyncification was done
  • further RocksDB tuning was done to heavily improve database performance, and bump RocksDB to v9.8.4
  • misc logging and tracing improvements
  • we pass some more complement tests now
  • bump nix flake lockfile after like 3 months, and remove libolm dependency (previously required by complement, not in any way used by conduwuit)
  • improve performance of updating your profile picture, displayname, etc
  • fix long-standing problem where membership updates on updating your profile would still copy/reuse some fields that shouldn't be reused/copied, such as the reason or is_direct flag
  • improve and refactor federation membership endpoint checks
  • update welcome text on new conduwuit deployments
  • copy/implement Synapse compatibility behaviour where POST requests that have no JSON body are tolerated and assumed to be {}. some older clients/libraries/bridges/etc such as matterbridge rely on this (Fix compatibility with conduit/conduwuit 42wim/matterbridge#2199)
  • add some missing required checks with account data
  • fix MSC4133/MSC4175 timezone key being sent twice on full profile requests
  • fix inherited non-functional private read receipt support. private read receipts were never returned over /sync, and clients that rely on receiving them over /sync such as gomuks web now have functional counters and properly mark rooms as read
  • enable production RocksDB track WAL in MANIFEST config option for improved database reliability and recovery at no cost/expense (https://github.com/facebook/rocksdb/wiki/Track-WAL-in-MANIFEST)
  • add config option for RocksDB paranoid file checks for further improved database reliability at a slight performance cost (https://github.com/facebook/rocksdb/wiki/Online-Verification#columnfamilyoptionsparanoid_file_checks)

also im tired rn 🥴 i hope i got it all

jevolk and others added 30 commits December 8, 2024 07:12
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
add fold_default to Future tools extension

Signed-off-by: Jason Volk <jason@zemos.net>
add cork around write-heavy database routine called in loop; cleanup

Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
start an OptionFuture extension

Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: strawberry <strawberry@puppygock.gay>
…e + remove unnecessary Result

Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
…, small parallelisation

Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
…checks

Signed-off-by: strawberry <strawberry@puppygock.gay>
…reduce line width

Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
…efault

Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: strawberry <strawberry@puppygock.gay>
… list

Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
Signed-off-by: strawberry <strawberry@puppygock.gay>
@x86pup x86pup force-pushed the strawberry/12-6-2024 branch from 4e3c41f to 5813419 Compare December 16, 2024 03:49
@x86pup x86pup merged commit 5813419 into main Dec 16, 2024
@x86pup x86pup deleted the strawberry/12-6-2024 branch January 11, 2025 05:31
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants