An open API service indexing awesome lists of open source software.

https://github.com/ethancedwards8/muchrooms


https://github.com/ethancedwards8/muchrooms

Last synced: 6 days ago
JSON representation

Awesome Lists containing this project

README

          

# 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](xmpp:muchrooms@xmpp.rs?join)
(requires an XMPP client).

We are using the [JoinJabber Code of
Conduct](https://joinjabber.org/about/community/codeofconduct/) 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:
- [pep@bouah.net](xmpp:pep@bouah.net) (xmpp, and mail)

## Contributing

[Contributing guidelines](CONTRIBUTING.md) are available, please do read them
before committing to help on the project.

## 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?
- [ ] 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