one parent per room

pull/2866/head
Richard van der Hoff 4 years ago
parent 1f1e3c9a0f
commit d4abe40677

@ -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`

Loading…
Cancel
Save