Switch to using stable identifiers (and add an unstable identifiers section).

kegan/spaces-summary
Patrick Cloke 5 years ago
parent 0fd8d8d6a6
commit dee9040eee

@ -33,13 +33,13 @@ to walk the full state of the space).
### Client-server API
Walks the space tree, starting at the provided room ID ("the root room"),
and visiting other rooms/spaces found via `org.matrix.msc1772.space.child`
and visiting other rooms/spaces found via `m.space.child`
events, recursing through those children into their children, etc.
Example request:
```jsonc
POST /_matrix/client/unstable/org.matrix.msc2946/rooms/{roomID}/spaces
POST /_matrix/client/r0/rooms/{roomID}/spaces
{
"max_rooms_per_space": 5,
@ -50,7 +50,7 @@ POST /_matrix/client/unstable/org.matrix.msc2946/rooms/{roomID}/spaces
or:
```text
GET /_matrix/client/unstable/org.matrix.msc2946/rooms/{roomID}/spaces?
GET /_matrix/client/r0/rooms/{roomID}/spaces?
max_rooms_per_space=5&
suggested_only=true
```
@ -69,13 +69,13 @@ Example response:
"topic": "Tasty tasty cheese",
"world_readable": true,
"room_type": "org.matrix.msc1772.space"
"room_type": "m.space"
},
{ ... }
],
"events": [
{
"type": "org.matrix.msc1772.space.child",
"type": "m.space.child",
"state_key": "!efgh:example.com",
"content": {
"via": ["example.com"],
@ -92,7 +92,7 @@ Example response:
Request params:
* **`suggested_only`**: Optional. If `true`, return only child events and rooms where the
`org.matrix.msc1772.space.child` event has `suggested: true`. Defaults to
`m.space.child` event has `suggested: true`. Defaults to
`false`. (For the POST request, must be a boolean. For GET, must be either
`true` or `false`, case sensitive.)
* **`max_rooms_per_space`**: Optional: a client-defined limit to the maximum
@ -108,7 +108,7 @@ Response fields:
`/publicRooms` (see
[spec](https://matrix.org/docs/spec/client_server/r0.6.0#post-matrix-client-r0-publicrooms)),
with the addition of:
* **`room_type`**: the value of the `org.matrix.msc1772.type` field from the
* **`room_type`**: the value of the `m.type` field from the
room's `m.room.create` event, if any.
* **`events`**: child events of the returned rooms. For each event, only the
following fields are returned: `type`, `state_key`, `content`, `room_id`,
@ -144,7 +144,7 @@ Much the same interface as the C-S API.
Example request:
```jsonc
POST /_matrix/federation/unstable/org.matrix.msc2946/spaces/{roomID}
POST /_matrix/federation/v1/spaces/{roomID}
{
"exclude_rooms": ["!a:b", "!b:c"],
"max_rooms_per_space": 5,
@ -183,6 +183,20 @@ This is largely the same as the C-S API, but differences are:
## Unstable prefix
## TODO
During development of this feature it will be available at an unstable endpoints.
The client-server API will be:
* Update this to use the stable identifiers from MSC1772 and MSC2946 everywhere.
`/_matrix/client/unstable/org.matrix.msc2946/rooms/{roomID}/spaces`
And the server-server API will be:
`/_matrix/federation/unstable/org.matrix.msc2946/spaces/{roomID}`
Note that the unstable identifiers from [MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) also apply:
Proposed final identifier | Purpose | Development identifier
------------------------------- | ------- | ----
`type` | property in `m.room.create` | `org.matrix.msc1772.type`
`m.space` | value of `type` in `m.room.create` | `org.matrix.msc1772.space`
`m.space.child` | event type | `org.matrix.msc1772.space.child`
`m.space.parent` | event type | `org.matrix.msc1772.space.parent`

Loading…
Cancel
Save