Skip to content

ethancedwards8/muchrooms

Repository files navigation

Muchrooms

This is an XMPP group chat component implementation in Rust. Its goal is to implement MUC (XEP-0045) and GC3 (currently being written).

The name is pronounced “mushrooms”.

License

This project is available under the AGPL-3.0-or-later license. See the LICENSE file.

Community

You can find the XMPP chatroom at muchrooms@xmpp.rs (requires an XMPP client).

We are using the JoinJabber Code of Conduct for the well-being of the community. Please refer to it in case of a conflict in any of the muchrooms venues (channel, forge, etc.).

The mediation team is currently composed of:

Contributing

Contributing guidelines are available, please do read them before committing to help on the project.

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?
  • MUC Eventing Protocol (MEP - 0316)
  • 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

Pseudonimity

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

Moderation

+mz makes all messages in a channel get redirected to ops only, and other users don't see them it's very useful for e.g. abuse reporting channels

  • Shadowbans

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages