Compare commits

...

3 commits

Author SHA1 Message Date
Kévin Commaille 4ee7a84b9e
Add error code to third-party invite
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-02-04 09:34:35 +01:00
Kévin Commaille 6097642bf9
Apply suggestions
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-02-04 09:32:07 +01:00
Kévin Commaille e3133f0586
Change section position
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-02-04 09:31:52 +01:00
3 changed files with 12 additions and 9 deletions

View file

@ -4071,7 +4071,7 @@ that profile.
| [Sticker Messages](#sticker-messages) | Optional | Optional | Optional | Optional | Optional |
| [Third-party Networks](#third-party-networks) | Optional | Optional | Optional | Optional | Optional |
| [Threading](#threading) | Optional | Optional | Optional | Optional | Optional |
| [Invite permission](#invite-permission) | Optional | Optional | Optional | Optional | Optional |
| [Invite permission](#invite-permission) | Optional | Optional | Optional | Optional | Optional |
*Please see each module for more details on what clients need to
implement.*
@ -4145,6 +4145,7 @@ systems.
{{% cs-module name="SSO client login/authentication" filename="sso_login" %}}
{{% cs-module name="Direct Messaging" filename="dm" %}}
{{% cs-module name="Ignoring Users" filename="ignore_users" %}}
{{% cs-module name="Invite permission" filename="invite_permission" %}}
{{% cs-module name="Sticker Messages" filename="stickers" %}}
{{% cs-module name="Reporting Content" filename="report_content" %}}
{{% cs-module name="Third-party Networks" filename="third_party_networks" %}}
@ -4160,4 +4161,3 @@ systems.
{{% cs-module name="Recently used emoji" filename="recent_emoji" %}}
{{% cs-module name="Threading" filename="threading" %}}
{{% cs-module name="Reference relations" filename="reference_relations" %}}
{{% cs-module name="Invite permission" filename="invite_permission" %}}

View file

@ -6,13 +6,13 @@
Users may want to control who is allowed to invite them to new rooms. This module defines how
clients and servers can implement invite permission.
#### Events
#### Account data
{{% event event="m.invite_permission_config" %}}
#### Client behaviour
To reject invites from all users automatically, clients MUST add an [`m.invite_permission_config`](#minvite_permission_config)
To reject invites from all users automatically, clients MAY add an [`m.invite_permission_config`](#minvite_permission_config)
event in the user's [account data](#client-config) with the `default_action` property set to
`block`. To stop rejecting all invites, the same event without the `default_action` property MUST be
added to the account data.
@ -20,8 +20,8 @@ added to the account data.
When the `default_action` field is unset, other parts of the specification might still have effects
on invites seen by clients, like [ignoring users](#ignoring-users).
When sending an invite to a user that blocks invites, clients SHOULD receive an error response with
the `M_INVITE_BLOCKED` error code.
Attempting to send an invite to a user that blocks invites will result in an error response with the
`M_INVITE_BLOCKED` error code.
#### Server behaviour
@ -38,9 +38,8 @@ is invited:
* [`PUT /_matrix/client/v3/rooms/{roomId}/state/m.room.member/{stateKey}`](#put_matrixclientv3roomsroomidstateeventtypestatekey),
when the `membership` is set to `invite`.
In addition, existing events already in the database MUST NOT be served over client synchronisation
endpoints such as [`GET /sync`](#get_matrixclientv3sync). Invite events received over federation
should likewise not be served over `GET /sync` requests.
In addition, invite events for this user already in the database, or received over federation, MUST
NOT be served over client synchronisation endpoints such as [`GET /sync`](#get_matrixclientv3sync).
Servers MAY return any suppressed invite events over `GET /sync` if invite blocking is later
disabled.

View file

@ -97,6 +97,10 @@ paths:
- The invitee is already a member of the room.
- The inviter is not currently in the room.
- The inviter's power level is insufficient to invite users to the room.
{{% added-in v="1.18"%}} The `M_INVITE_BLOCKED` error code is used to
indicate that the homeserver rejected the invite due to
[invite blocking](/client-server-api/#invite-permission).
content:
application/json:
schema: