XMPP MUC (0045) implementation in Rust
Find a file
2023-01-07 17:22:08 +01:00
src TestComponent: Display 'actual' as green when stanza match 2023-01-07 17:22:08 +01:00
.editorconfig Add .editorconfig 2022-12-28 10:32:43 +01:00
.gitignore Initial commit: Users can join! 2022-09-07 20:08:27 +02:00
.woodpecker.yml CI: try moving clippy in testing stage 2022-12-27 09:19:46 +01:00
Cargo.toml TestComponent: implement word-diff 2023-01-07 15:44:15 +01:00
LICENSE Add README.md and LICENSE 2022-09-12 23:06:15 +02:00
README.md README: [x] Nick changes 2023-01-02 21:11:07 +01:00
rustfmt.toml Set hard_tabs = true in rustfmt 2022-12-28 10:13:30 +01:00

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

  • Join
    • Normal sessions
    • MSN
  • [-] Presence
    • Resync
    • Updates
    • [-] Probes (storing updates to answer probes)
      • Storing presences but not answering when they're being queried, yet.
    • Nick changes
  • [-] Iq
    • [-] Ping answers
      • Ping component (always succeeds)
      • [-] Ping room (always fails. Awaiting affiliation support)
      • Ping participant (0410)
    • 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)?)
  • 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?
    • ...?