XMPP MUC (0045) implementation in Rust
Maxime “pep” Buquet
ad5ece8ad5
Attempts to assert closer to callsite to make it easier to debug. This requires that we also pay attention to remaining items in the expect_buffer. This check is done on Drop. 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)
- 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?
- ...?