Clarify the meaning of "public spaces" (#2109)

Relates to: #633

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
pull/2158/head
Johannes Marbach 7 months ago committed by GitHub
parent 643a6dca2d
commit 7470c72d94
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -0,0 +1 @@
Spaces are subject to the same access mechanisms as rooms.

@ -2,8 +2,8 @@
{{% added-in v="1.2" %}} {{% added-in v="1.2" %}}
Often used to group rooms of similar subject matter (such as a public "Official Often used to group rooms of similar subject matter (such as an "Official
matrix.org rooms" space or personal "Work stuff" space), spaces are a way to matrix.org rooms" space or a "Work stuff" space), spaces are a way to
organise rooms while being represented as rooms themselves. organise rooms while being represented as rooms themselves.
A space is defined by the [`m.space` room type](#types), making it known as a A space is defined by the [`m.space` room type](#types), making it known as a
@ -18,11 +18,11 @@ In the default power level structure, this would be `100`. Clients might wish to
go a step further and explicitly ignore notification counts on space-rooms. go a step further and explicitly ignore notification counts on space-rooms.
Membership of a space is defined and controlled by the existing mechanisms which Membership of a space is defined and controlled by the existing mechanisms which
govern a room: [`m.room.member`](#mroommember), [`m.room.history_visibility`](#mroomhistory_visibility), govern a room: [`m.room.member`](/client-server-api#mroommember), [`m.room.history_visibility`](/client-server-api#mroomhistory_visibility),
and [`m.room.join_rules`](#mroomjoin_rules). Public spaces are encouraged to have and [`m.room.join_rules`](/client-server-api#mroomjoin_rules). Canonical aliases and invites, including
a similar setup to public rooms: `world_readable` history visibility, published third-party invites, still work just as they do in normal rooms as well. Furthermore,
canonical alias, and suitably public `join_rule`. Invites, including third-party spaces can also be published in the [room directory](/client-server-api#published-room-directory) to make them
invites, still work just as they do in normal rooms as well. discoverable.
All other aspects of regular rooms are additionally carried over, such as the All other aspects of regular rooms are additionally carried over, such as the
ability to set arbitrary state events, hold room account data, etc. Spaces are ability to set arbitrary state events, hold room account data, etc. Spaces are
@ -87,10 +87,9 @@ the state of `#space:example.org` would consist of:
} }
``` ```
No state events in the child rooms themselves would be required (though they No state events in the child rooms themselves would be required (though they can also
can also be present). This allows for users be present). This allows for users to define spaces without needing explicit permission
to define personal/private spaces to organise their own rooms without needing explicit from the room moderators/admins.
permission from the room moderators/admins.
Child rooms can be removed from a space by omitting the `via` key of `content` on the Child rooms can be removed from a space by omitting the `via` key of `content` on the
relevant state event, such as through redaction or otherwise clearing the `content`. relevant state event, such as through redaction or otherwise clearing the `content`.

Loading…
Cancel
Save