mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-06-28 02:17:48 +02:00
Some checks failed
Spec / 🔎 Validate OpenAPI specifications (push) Has been cancelled
Spec / 🔎 Check Event schema examples (push) Has been cancelled
Spec / 🔎 Check OpenAPI definitions examples (push) Has been cancelled
Spec / 🔎 Check JSON Schemas inline examples (push) Has been cancelled
Spec / ⚙️ Calculate baseURL for later jobs (push) Has been cancelled
Spec / 📢 Run towncrier for changelog (push) Has been cancelled
Spell Check / Spell Check with Typos (push) Has been cancelled
Spec / 🐍 Build OpenAPI definitions (push) Has been cancelled
Spec / 📖 Build the spec (push) Has been cancelled
Spec / 🔎 Validate generated HTML (push) Has been cancelled
Spec / 📖 Build the historical backup spec (push) Has been cancelled
Spec / Create release (push) Has been cancelled
Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com> Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org> Co-authored-by: Hubert Chathi <hubertc@matrix.org>
52 lines
2.4 KiB
YAML
52 lines
2.4 KiB
YAML
---
|
|
$schema: https://json-schema.org/draft/2020-12/schema
|
|
|
|
allOf:
|
|
- $ref: core-event-schema/event.yaml
|
|
|
|
description: |-
|
|
This event type is used to indicate that the sender is not sharing room keys
|
|
with the recipient. It is sent as a to-device event.
|
|
|
|
The following values for `code` are defined:
|
|
|
|
* `m.blacklisted`: the user/device was blacklisted.
|
|
* `m.unverified`: the user/device was not verified, and the sender is only
|
|
sharing keys with verified users/devices.
|
|
* `m.unauthorised`: the user/device is not allowed to have the key. For
|
|
example, this could be sent in response to a key request if the user/device
|
|
was not in the room when the original message was sent.
|
|
* `m.unavailable`: sent in reply to a key request if the device that the
|
|
key is requested from does not have the requested key.
|
|
* `m.no_olm`: an olm session could not be established.
|
|
* **[Added in `v1.19`]** `m.history_not_shared`: when used as part of a
|
|
[`RoomKeyBundle` structure](/client-server-api/#definition-roomkeybundle),
|
|
indicates to the recipient of the bundle that the corresponding room key
|
|
was not marked as
|
|
[shareable](/client-server-api/#shareable-encryption-sessions) by the
|
|
sender. Clients SHOULD NOT use this `code` in a `m.room_key.withheld`
|
|
event.
|
|
|
|
In most cases, this event refers to a specific room key. The one exception to
|
|
this is when the sender is unable to establish an olm session with the
|
|
recipient. When this happens, multiple sessions will be affected. In order
|
|
to avoid filling the recipient\'s device mailbox, the sender should only send
|
|
one `m.room_key.withheld` message with no `room_id` nor `session_id`
|
|
set. If the sender retries and fails to create an olm session again in the
|
|
future, it should not send another `m.room_key.withheld` message with a
|
|
`code` of `m.no_olm`, unless another olm session was previously
|
|
established successfully. In response to receiving an
|
|
`m.room_key.withheld` message with a `code` of `m.no_olm`, the
|
|
recipient may start an olm session with the sender and send an `m.dummy`
|
|
message to notify the sender of the new olm session. The recipient may
|
|
assume that this `m.room_key.withheld` message applies to all encrypted
|
|
room messages sent before it receives the message.
|
|
properties:
|
|
content:
|
|
$ref: "components/room_key_withheld_content.yaml"
|
|
type:
|
|
enum:
|
|
- m.room_key.withheld
|
|
type: string
|
|
type: object
|