muchrooms/README.md

77 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

# Muchrooms
This is a MUC component implementation in Rust.
The primary goal was to be able to write gaming chat rooms for the online
(board) games, but it is growing into a more complete implementation.
The name is pronounced “mushrooms”.
## 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.
* [x] 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?
* [ ] ...?
## To Think About
https://logs.xmpp.org/xsf/2023-01-05?p=h#2023-01-05-fe0286ff34b3de39
> A MUC could pretend to be non-anon and give out burner JIDs at a companion service