# 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 - [x] Join * [x] Normal sessions * [x] MSN - [-] Presence * [x] Resync * [ ] Updates * [-] Probes (storing updates to answer probes) - Storing presences but not answering when they're being queried, yet. * [ ] Nick changes - [-] Iq * [-] Ping answers - [x] Ping component (always succeeds) - [-] Ping room (always fails. Awaiting affiliation support) - [x] Ping participant (0410) * [ ] Ping probes? * [ ] Routing Public PEP? * [x] 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)?) - [ ] Mediated invites - [ ] Room state * [ ] Locked * [ ] Destroyed / Tombstoned? - [ ] Private Messages? - [ ] Possible optimisations * [ ] Presence versioning (0436) * [ ] Room Activity Indicator (0437) * [ ] Affiliation versioning (0463) * [ ] Caching participant caps ### Storage - [ ] Persistent storage of room data ### Component Configuration - [ ] Interface * [ ] File? * [ ] Adhoc? - [ ] Options? * [ ] Host * [ ] Secret * [ ] Admins? * [ ] ...?