Native rust implementation of the Quassel protocol and library functions # Features | Feature | Description | | -------------------- | ---------------------------------------------------------------------------------------------------------------------- | | client | Enable client side trait implementations | | server | Enable server side trait implementations | | framing | Enable support for tokio\'s [codec::Framed](url:https://docs.rs/tokio-util/latest/tokio_util/codec/struct.Framed.html) | | all-quassel-features | enable all protocol features | | long-message-id | Serialize message IDs as i64 | | long-time | Serialize Message Time as i64 | | rich-messages | add avatar url and real name to messages | | sender-prefixes | Show prefixes for senders in backlog | | authenticators | Support for exchangeable auth backends | | bench | Enable the test crate/feature for running benchmarks | # TODOs ## Road to 1.0 - [ ] Implementation of Syncable Objects - [X] AliasManager - [ ] BacklogManager - [X] BufferSyncer - [X] BufferViewConfig - [X] BufferViewManager - [X] CertManager - [X] CoreInfo - [X] HighlightRuleManager - [X] Identity - [X] IgnoreListManager - [X] IrcChannel - [ ] IrcListHelper - [X] IrcUser - [X] Network - [X] NetworkInfo - [X] NetworkConfig - [X] Implement RPC Calls - [X] RPC Call Objects - [X] Serialization - [ ] Rework Error handling to actually handle errors - [ ] Rework Quassel feature flags to work at runtime, not compile time ## Nice to Have - [ ] Rewrite the parsers using nom - [ ] SessionManager - [ ] Automatic InitRequest handling in SessionManager - [ ] Add RPC Calls to SessionManager