XMPP MUC (0045) implementation in Rust
Find a file
Maxime “pep” Buquet ee4ea6dd9a Room: simplify add_session; abstract away send_subject
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-09-23 22:53:38 +02:00
src Room: simplify add_session; abstract away send_subject 2022-09-23 22:53:38 +02:00
.gitignore Initial commit: Users can join! 2022-09-07 20:08:27 +02:00
Cargo.toml Add TestComponent.expect_with; test for Delay in MUC subject 2022-09-10 18:00:02 +02:00
LICENSE Add README.md and LICENSE 2022-09-12 23:06:15 +02:00
README.md Add test_presence_resync 2022-09-23 22:47:33 +02:00

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
    • Single session
    • Multiple sessions non-MSN
    • 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)?)
  • 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?
    • ...?