replace 'default' with 'auto_join'
@@ -96,7 +96,7 @@ relationship can be expressed in one of two ways:
"via": ["example.com"],
"present": true,
"order": "abcd",
- "default": true
+ "auto_join": true
}
}
@@ -117,7 +117,9 @@ relationship can be expressed in one of two ways:
`\x20` (space) to `\x7F` (`~`), or consist of more than 50 characters, are
forbidden and should be ignored if received.)
- If `default` is set to `true`, that indicates a "default child": see [below](#default-children).
+ If `auto_join` is set to `true`, that indicates that the child should be
+ automatically joined by members of the space see
+ [below](#auto-joined-children).
2. Separately, rooms can claim parents via the `m.room.parent` state
event:
@@ -168,17 +170,29 @@ Cycles in the parent->child and child->parent relationships are *not*
permitted, but clients (and servers) should be aware that they may be
encountered, and ignore the relationship rather than recursing infinitely.
-### Default children
+### Auto-joined children
-The `default` flag on a child listing allows a space admin to list the
-"default" sub-spaces and rooms in that space. This means that when a user joins
-the parent space, they will automatically be joined to those default
-children.
+The `auto_join` flag on a child listing allows a space admin to list the
+sub-spaces and rooms in that space which should be automatically joined by
+members of that space.
-XXX implement this on the client or server?
+Joining should be performed by the client. This can optionally be sped up by
+using [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946) to get a
+summary of the spacetree to be joined, and then using a batch join API (when
+available) to join whichever subset of it makes most sense for the client's
+UX.
-Clients could display the default children in the room list whenever the space
-appears in the list.
+Obviously auto-joining can be a DoS vector, and we consider it to be antisocial
+for a space to try to join its users to more than ~100 children.
+
+Clients could display the auto-joined children in the room list whenever the
+space appears in the list - thus helping users discover other rooms in a space
+even if they're not joined to that space.
+
+XXX: I still think it's more common that a space admin will want users to know
+that a child exists (by showing it in the room list), rather than force them to
+actually join it. So this would be an `advertise` flag or something on the child.
+Matthew to discuss with Nad...
### Long description
