From d4abe406772171754b9f816249c482930823f964 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 16 Nov 2020 11:57:04 +0000 Subject: [PATCH] one parent per room --- proposals/1772-groups-as-rooms.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/proposals/1772-groups-as-rooms.md b/proposals/1772-groups-as-rooms.md index 452ca131..93d0b97f 100644 --- a/proposals/1772-groups-as-rooms.md +++ b/proposals/1772-groups-as-rooms.md @@ -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`