one parent per room

This commit is contained in:
Richard van der Hoff 2020-11-16 11:57:04 +00:00
parent 1f1e3c9a0f
commit d4abe40677

View file

@ -119,16 +119,16 @@ relationship can be expressed in one of two ways:
If `default` is set to `true`, that indicates a "default child": see [below](#default-children).
2. Separately, rooms can claim parents via `m.room.parent` state
events, where the `state_key` is the room ID of the parent space:
2. Separately, rooms can claim parents via the `m.room.parent` state
event:
```js
{
"type": "m.room.parent",
"state_key": "!space:example.com",
"state_key": "",
"content": {
"room_id": "!space:example.com",
"via": ["example.com"]
"present": true
}
}
```
@ -145,6 +145,10 @@ relationship can be expressed in one of two ways:
Where the parent space also claims a parent, clients can recursively peek
into the grandparent space, and so on.
Note that each room can only declare a single parent. This could be
extended in future to declare additional parents, but more investigation
into appropriate semantics is needed.
This structure means that rooms can end up with multiple parents. This implies
that the room will appear multiple times in the room list hierarchy.
@ -641,7 +645,7 @@ Proposed final identifier | Purpose | Development identifier
------------------------------- | ------- | ----
`m.space` | room type | `org.matrix.msc1772.space`
`m.space.child` | event type | `org.matrix.msc1772.space.child`
`m.space.parent` | event type | `org.matrix.msc1772.space.parent`
`m.room.parent` | event type | `org.matrix.msc1772.room.parent`
`m.room.power_level_mappings` | event type | `org.matrix.msc1772.room.power_level_mappings`
`auto_users` | key in `m.room.power_levels` event | `org.matrix.msc1772.auto_users`
`allow` | key in `m.room.join_rules` event | `org.matrix.msc1772.allow`