Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 71 commits into from
Dec 16, 2024

Conversation

girlbossceo
Copy link
Owner

  • 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
add fold_default to Future tools extension

Signed-off-by: Jason Volk <[email protected]>
add cork around write-heavy database routine called in loop; cleanup

Signed-off-by: Jason Volk <[email protected]>
start an OptionFuture extension

Signed-off-by: Jason Volk <[email protected]>
Signed-off-by: Jason Volk <[email protected]>
…e + remove unnecessary Result

Signed-off-by: strawberry <[email protected]>
Signed-off-by: strawberry <[email protected]>
Signed-off-by: strawberry <[email protected]>
Signed-off-by: strawberry <[email protected]>
@girlbossceo girlbossceo merged commit 5813419 into main Dec 16, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants