diff --git a/29.md b/29.md index 601d63ad6a..9099e4da7f 100644 --- a/29.md +++ b/29.md @@ -83,7 +83,7 @@ Any user can send a kind `9021` event to the relay in order to request admission } ``` -The optional `code` tag may be used by the relay to preauthorize acceptances in `closed` groups, together with the `kind:9009` `create-invite` moderation event. +The optional `code` tag may be used by the relay to preauthorize acceptance, together with the `kind:9009` `create-invite` moderation event. - *leave request* (`kind:9022`) @@ -153,14 +153,18 @@ When this event is not found, clients may still connect to the group, but treat ["name", "Pizza Lovers"], ["picture", "https://pizza.com/pizza.png"], ["about", "a group for people who love pizza"], - ["public"], // or ["private"] - ["open"] // or ["closed"] + ["private"], + ["closed"] ] // other fields... } ``` -`name`, `picture` and `about` are basic metadata for the group for display purposes. `public` signals the group can be _read_ by anyone, while `private` signals that only AUTHed users can read. `open` signals that anyone can request to join and the request will be automatically granted, while `closed` signals that members must be pre-approved or that requests to join will be manually handled. +- `name`, `picture` and `about` are basic metadata for the group for display purposes. +- `private` indicates that only members can _read_ group messages. Omitting this tag indicates that anyone can read group messages. +- `restricted` indicates that only members can _write_ messages to the group. Omitting this tag indicates that anyone can send messages to the group. +- `hidden` indicates that relays should hide group metadata from non-members. Omitting this tag indicates that anyone can request group metadata events. +- `closed` indicates that join requests are ignored. Omitting this tag indicates that users can expect join requests to be honored. - *group admins* (`kind:39001`) (optional) @@ -231,7 +235,7 @@ The latest of either `kind:9000` or `kind:9001` events present in a group should ### Adding yourself to a group -When a group is `open`, anyone can send a `kind:9021` event to it in order to be added, then expect a `kind:9000` event to be emitted confirming that the user was added. The same happens with `closed` groups, except in that case a user may only send a `kind:9021` if it has an invite code. +Anyone can send a `kind:9021` join request to a group. The relay may then generate a `kind:9000` event immediately, or defer that decision to an administator. If a group is `closed`, join requests are not honored unless they include an invite code. ### Storing your list of groups