From b5566dbadb3872a23fe6ac9671b9b4b0761c08f5 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Mon, 13 Feb 2023 10:36:58 +0000 Subject: [PATCH] Clarify which events will be included in Stripped State (#1409) Signed-off-by: Andy Balaam andy.balaam@matrix.org --- .../newsfragments/1409.clarification | 1 + content/client-server-api/_index.md | 21 +++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 changelogs/client_server/newsfragments/1409.clarification diff --git a/changelogs/client_server/newsfragments/1409.clarification b/changelogs/client_server/newsfragments/1409.clarification new file mode 100644 index 00000000..40bea800 --- /dev/null +++ b/changelogs/client_server/newsfragments/1409.clarification @@ -0,0 +1 @@ +Clarify which events will be included in Stripped State. Contributed by @andybalaam. diff --git a/content/client-server-api/_index.md b/content/client-server-api/_index.md index 06318ae3..9385f3a1 100644 --- a/content/client-server-api/_index.md +++ b/content/client-server-api/_index.md @@ -1579,15 +1579,18 @@ detail on why this assumption is unsafe. ### Stripped state -Stripped state events are simplified state events to help a potential -joiner identify the room. These state events can only have the `sender`, -`type`, `state_key` and `content` keys present. +Stripped state is a simplified view of the state of a room intended to help a +potential joiner identify the room. It consists of a limited set of state events +that are themselves simplified to reduce the amount of data required. -These stripped state events typically appear on invites, knocks, and in -other places where a user *could* join the room under the conditions -available (such as a [`restricted` room](#restricted-rooms)). +Stripped state events can only have the `sender`, `type`, `state_key` and +`content` properties present. -Clients should only use stripped state events so long as they don't have +Stripped state typically appears in invites, knocks, and in other places where a +user *could* join the room under the conditions available (such as a +[`restricted` room](#restricted-rooms)). + +Clients should only use stripped state events when they don't have access to the proper state of the room. Once the state of the room is available, all stripped state should be discarded. In cases where the client has an archived state of the room (such as after being kicked) @@ -1595,8 +1598,8 @@ and the client is receiving stripped state for the room, such as from an invite or knock, then the stripped state should take precedence until fresh state can be acquired from a join. -The following state events should be represented as stripped state when -possible: +Stripped state should contain some or all of the following state events, which +should be represented as stripped state events when possible: * [`m.room.create`](#mroomcreate) * [`m.room.name`](#mroomname)