Compare commits

...

4 commits

Author SHA1 Message Date
Johannes Marbach 5d912fec16
Merge fdd2a9abe8 into 252de984cc 2026-03-11 08:35:16 +01:00
Kévin Commaille 252de984cc
Spec for MSC4230: Flag for animated images (#2328)
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
* Spec for MSC4230: Flag for animated images

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add x-addedInMatrixVersion property

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-03-10 18:54:05 +00:00
Logan Devine a6112535bf
clarification: add link to JSON signing algorithm on federation auth section (#2329)
Signed-Off-By: Logan Devine logan@zirco.dev
2026-03-10 18:34:47 +00:00
Johannes Marbach fdd2a9abe8 Add page search widget
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2026-03-06 15:25:50 +01:00
12 changed files with 64 additions and 8 deletions

View file

@ -236,6 +236,10 @@ jobs:
run: |
tar -C "spec${baseURL}" --strip-components=1 -xzf openapi.tar.gz
- name: "🔍 pagefind indexing"
run: |
npx -y pagefind --site "spec${baseURL}"
- name: "📦 Tarball creation"
run: |
cd spec

View file

@ -661,3 +661,9 @@ dd {
margin: 0;
}
}
/* Style for page search */
#search {
display: none;
padding-bottom: 1rem;
}

View file

@ -0,0 +1 @@
Add the `is_animated` flag to the `info` object of the `m.image` msgtype and the `m.sticker` event, as per [MSC4230](https://github.com/matrix-org/matrix-spec-proposals/pull/423O).

View file

@ -0,0 +1 @@
Add link to JSON signing algorithm in server-server auth section for clarity. Contributed by @thetayloredman.

View file

@ -0,0 +1 @@
Add page search widget.

View file

@ -277,12 +277,12 @@ queried from multiple servers to mitigate against DNS spoofing.
Every HTTP request made by a homeserver is authenticated using public
key digital signatures. The request method, target and body are signed
by wrapping them in a JSON object and signing it using the JSON signing
algorithm. The resulting signatures are added as an Authorization header
with an auth scheme of `X-Matrix`. Note that the target field should
include the full path starting with `/_matrix/...`, including the `?`
and any query parameters if present, but should not include the leading
`https:`, nor the destination server's hostname.
by wrapping them in a JSON object and signing it using the [JSON signing
algorithm](/appendices#signing-json). The resulting signatures are added
as an Authorization header with an auth scheme of `X-Matrix`. Note that
the target field should include the full path starting with `/_matrix/...`,
including the `?` and any query parameters if present, but should not
include the leading `https:`, nor the destination server's hostname.
Step 1 sign JSON:

View file

@ -7,7 +7,8 @@
"h": 398,
"w": 394,
"mimetype": "image/jpeg",
"size": 31037
"size": 31037,
"is_animated": false
},
"url": "mxc://example.org/JWEIFJgwEIhweiWJE",
"msgtype": "m.image"

View file

@ -9,7 +9,8 @@
"mimetype": "image/png",
"h": 200,
"w": 140,
"size": 73602
"size": 73602,
"is_animated": true
},
"h": 200,
"thumbnail_url": "mxc://matrix.org/sHhqkFCvSkFwtmvtETOtKnLP",

View file

@ -34,5 +34,19 @@ properties:
allOf:
- $ref: thumbnail_info.yaml
description: Metadata about the image referred to in `thumbnail_url`.
is_animated:
x-addedInMatrixVersion: "1.18"
description: |-
If this flag is `true`, the original image SHOULD be assumed to be
animated. If this flag is `false`, the original image SHOULD be assumed to
NOT be animated.
If a sending client is unable to determine whether an image is animated,
it SHOULD leave the flag unset.
Receiving clients MAY use this flag to optimize whether to download the
original image rather than a thumbnail if it is animated, but they SHOULD
NOT trust this flag.
type: boolean
title: ImageInfo
type: object

View file

@ -16,3 +16,7 @@
{{ $inter := resources.Get "css/fonts/Inter.css" -}}
<link rel="preload" href="{{ $inter.RelPermalink }}" as="style">
<link rel="stylesheet" href="{{ $inter.RelPermalink }}">
{{/* Load Pagefind stuff to power the page search. */}}
<link href="/pagefind/pagefind-ui.css" rel="stylesheet">
<script src="/pagefind/pagefind-ui.js"></script>

View file

@ -61,6 +61,28 @@
</a>
</li>
{{ end -}}
<li class="nav-item" id="search-button">
<a class="nav-link" href="#" role="button">Search</a>
</li>
<script>
document.querySelector("#search-button").addEventListener("click", (event) => {
const search = document.querySelector("#search");
if (search.style.display === "block") {
// Hide the search widget.
search.style.display = "none";
} else {
// Initialise the search widget if needed.
if (!search.innerHTML.length) {
new PagefindUI({ element: "#search", showSubResults: true });
}
// Unhide and focus the search widget.
search.style.display = "block";
search.querySelector("input").focus();
}
});
</script>
{{ if .Site.Params.versions -}}
<li class="nav-item dropdown d-none d-lg-block td-navbar__version-menu">
{{ partial "navbar-version-selector.html" . -}}

View file

@ -49,6 +49,7 @@
</aside>
<main class="col-12 col-md-9 col-xl-8 ps-md-5" role="main">
{{ partial "version-banner.html" . }}
<div id="search"></div>
{{ if not (.Param "ui.breadcrumb_disable") -}}
{{ partial "breadcrumb.html" . -}}
{{ end -}}