matrix-spec/event-schemas/schema/m.room.message$m.audio
Jimmy Cuadra b885714d94 Remove the "required" designation from the url field of certain
m.room.message msgtypes.

Now that content referenced by the *m.audio*, *m.file*, *m.image*, and
*m.video* message types can be encrypted, the `url` field is required
*only* if the content is unencrypted. The "required" designation in the
event schemas (which prefixes the field description with "Required" in
bold in the generated HTML) is used to indicate fields which must always
be present, and this is no longer the case.

Signed-off-by: Jimmy Cuadra <jimmy@jimmycuadra.com>
2019-06-14 13:49:14 -07:00

50 lines
1.4 KiB
Plaintext

---
allOf:
- $ref: core-event-schema/room_event.yaml
description: This message represents a single audio clip.
properties:
content:
properties:
body:
description: "A description of the audio e.g. 'Bee Gees - Stayin' Alive', or some kind of content description for accessibility e.g. 'audio attachment'."
type: string
info:
description: Metadata for the audio clip referred to in ``url``.
properties:
duration:
description: The duration of the audio in milliseconds.
type: integer
mimetype:
description: The mimetype of the audio e.g. ``audio/aac``.
type: string
size:
description: The size of the audio clip in bytes.
type: integer
title: AudioInfo
type: object
msgtype:
enum:
- m.audio
type: string
url:
description: |-
Required if the file is unencrypted. The URL (typically `MXC URI`_)
to the audio clip.
type: string
file:
description: |-
Required if the file is encrypted. Information on the encrypted
file, as specified in |encrypted_files|_.
title: EncryptedFile
type: object
required:
- msgtype
- body
type: object
type:
enum:
- m.room.message
type: string
title: AudioMessage
type: object