matrix-org / matrix-org/matrix-rust-sdk
Spaces support
- Dominant language
- Rust
- Stars
- 2.3k
- Forks
- 500
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 106
Description
Spaces support was merged into the spec (https://github.com/matrix-org/matrix-doc/blob/master/proposals/1772-groups-as-rooms.md). So it might be nice to have some dedicated spaces support in the SDK as well. Since ruma already provides types for spaces it's already possible to work with spaces generally.
**Important**
- > Normal messages within a space-room are discouraged (but not blocked by the server): user interfaces are not expected to have a way to enter or display such messages. Space-rooms should be created with a power level for events_default of 100, to prevent the rooms accidentally/maliciously clogging up with messages from random members of the space.
**Todo**
- [ ] Should we make sure that rooms with type `m.space` are created with required PL 100 for `events_default`? Should this happen transparently in `Client::create_room` or do we want a dedicated `Client::create_space`?
- [x] ~~Fix https://github.com/matrix-org/matrix-rust-sdk/issues/247~~
**Related**
- ruma issue: https://github.com/ruma/ruma/issues/445
- matrix-bot-sdk: https://github.com/turt2live/matrix-bot-sdk/pull/121
- matrix-js-sdk: https://github.com/matrix-org/matrix-js-sdk/pull/1563
- matrix-dart-sdk: https://gitlab.com/famedly/famedlysdk/-/merge_requests/683
- matrix-go-sdk: None yet
- synapse
- https://github.com/matrix-org/synapse/pull/10011
- https://github.com/matrix-org/synapse/pull/9947
Contributor guide
Research direction
Start with the Spaces proposal and the existing Client::create_room entry point, then compare the related SDK implementations linked in the issue. Done means resolving whether spaces use create_room transparently or a dedicated create_space API, and ensuring space rooms receive events_default power level 100.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100