XMPP MUC (0045) implementation in Rust
Maxime “pep” Buquet
cc1c1609e3
This way I don't have to guard everything with #[cfg(test)].. Signed-off-by: Maxime “pep” Buquet <pep@bouah.net> |
||
---|---|---|
src | ||
.gitignore | ||
.woodpecker.yml | ||
Cargo.toml | ||
LICENSE | ||
README.md |
MUC Component
This is a MUC component implementation in Rust. The primary goal was to be able to write a gaming chat room for the Hanabi game, but I may also just want to implement parts of standard MUC.
License
This project is available under the AGPL-3.0-or-later license. See the LICENSE file.
Checklist
XMPP
- Join
- Normal sessions
- MSN
- Presence
- Updates
- Resync
- Probes (storing updates to answer probes)
- Nick changes
- Iq
- Ping answers
- Ping probes?
- Routing Public PEP?
- Default "service-unavailable"
- Messages
- Broadcast
- History?
- MAM?
- [?] Leave
- Affiliations / roles
- Configuration
- Modes
- Non-anon
- Semi-anon
- Full-anon? (with some kind of occupant-id (0421)?)
- Modes
- Mediated invites
- Room state
- Locked
- Destroyed / Tombstoned?
- Private Messages?
- Possible optimisations
- Presence versioning (0436)
- Room Activity Indicator (0437)
- Affiliation versioning (0463)
Storage
- Persistent storage of room data
Component Configuration
- Interface
- File?
- Adhoc?
- Options?
- Host
- Secret
- Admins?
- ...?