76 lines
1.7 KiB
Markdown
76 lines
1.7 KiB
Markdown
# 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
|