Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelogs/client_server/newsfragments/1757.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add optional `animated` query string option to `GET /_matrix/media/v3/thumbnail`, as per [MSC2705](https://github.com/matrix-org/matrix-spec-proposals/pull/2705).
42 changes: 41 additions & 1 deletion data/api/client-server/content-repo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -633,6 +633,28 @@ paths:
schema:
type: boolean
default: false
- in: query
name: animated
x-addedInMatrixVersion: "1.10"
required: false
description: |
Indicates preference for an animated thumbnail from the server, if possible. Animated
thumbnails typically use the content types `image/gif`, `image/png` (with APNG format),
`image/apng`, and `image/webp` instead of the common static `image/png` or `image/jpeg`
content types.

When `true`, the server SHOULD return an animated thumbnail if possible and supported.
When `false`, the server MUST NOT return an animated thumbnail. For example, returning a
static `image/png` or `image/jpeg` thumbnail. When not provided, the server SHOULD NOT
return an animated thumbnail.

Servers SHOULD prefer to return `image/webp` thumbnails when supporting animation.

When `true` and the media cannot be animated, such as in the case of a JPEG or PDF, the
server should behave as though `animated` is `false`.
example: false
schema:
type: boolean
responses:
"200":
description: A thumbnail of the requested content.
Expand All @@ -644,14 +666,32 @@ paths:
enum:
- image/jpeg
- image/png
- image/apng
- image/gif
- image/webp
content:
image/jpeg:
schema:
# This is a workaround for us not being able to say the response is required.
description: "**Required.** The bytes for the thumbnail."
image/png:
schema:
description: "**Required.** The bytes for the thumbnail."
x-changedInMatrixVersion: "1.10"
description: |
**Required.** The bytes for the thumbnail. The thumbnail MAY use an animated
format if `animated=true`.
image/apng:
schema:
x-addedInMatrixVersion: "1.10"
description: "**Required.** The bytes for the *animated* thumbnail."
image/gif:
schema:
x-addedInMatrixVersion: "1.10"
description: "**Required.** The bytes for the *animated* thumbnail."
image/webp:
schema:
x-addedInMatrixVersion: "1.10"
description: "**Required.** The bytes for the *animated* thumbnail."
"307":
description: A redirect to the thumbnail of the requested content.
headers:
Expand Down