mirror of
https://github.com/girlbossceo/conduwuit.git
synced 2024-12-02 20:54:41 +00:00
2.5 KiB
2.5 KiB
Development
Information about developing the project. If you are only interested in using it, you can safely ignore this section. If you plan on contributing, see the contributor's guide.
List of forked dependencies During conduwuit development, we have had to fork
some dependencies to support our use-cases in some areas. This ranges from things said upstream project won't accept for any reason, faster-paced development (unresponsive or slow upstream), conduwuit-specific usecases, or lack of time to upstream some things.
- ruma/ruma: https://github.com/girlbossceo/ruwuma - various performance improvements, more features, faster-paced development, client/server interop hacks upstream won't accept, etc
- facebook/rocksdb: https://github.com/girlbossceo/rocksdb - liburing build fixes, GCC build fix, and logging callback C API for Rust tracing integration
- tikv/jemallocator: https://github.com/girlbossceo/jemallocator - musl builds seem to be broken on upstream
- zyansheep/rustyline-async:
https://github.com/girlbossceo/rustyline-async - tab completion callback and
CTRL+\
signal quit event for CLI - rust-rocksdb/rust-rocksdb:
https://github.com/girlbossceo/rust-rocksdb-zaidoon1 -
@zaidoon1
's fork has quicker updates, more up to date dependencies. Our changes fix musl build issues, Rust part of the logging callback C API, removes unnecessarygtest
include, and uses our RocksDB and jemallocator - tokio-rs/tracing: https://github.com/girlbossceo/tracing - Implements
Clone
forEnvFilter
to support dynamically changing tracing envfilter's alongside other logging/metrics things
Debugging with tokio-console
tokio-console
can be a useful tool for debugging and profiling. To make a
tokio-console
-enabled build of conduwuit, enable the tokio_console
feature,
disable the default release_max_log_level
feature, and set the --cfg tokio_unstable
flag to enable experimental tokio APIs. A build might look like
this:
--no-default-features \
--features=systemd,element_hacks,gzip_compression,brotli_compression,zstd_compression,tokio_console