matrix-org / matrix-org/matrix-rust-sdk

Spaces support

Open
#227 16 comments 13 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.