mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-04-17 00:24:10 +02:00
Compare commits
4 commits
d281b10b89
...
5d912fec16
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d912fec16 | ||
|
|
252de984cc | ||
|
|
a6112535bf | ||
|
|
fdd2a9abe8 |
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -661,3 +661,9 @@ dd {
|
|||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Style for page search */
|
||||
#search {
|
||||
display: none;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
1
changelogs/client_server/newsfragments/2328.feature
Normal file
1
changelogs/client_server/newsfragments/2328.feature
Normal 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).
|
||||
|
|
@ -0,0 +1 @@
|
|||
Add link to JSON signing algorithm in server-server auth section for clarity. Contributed by @thetayloredman.
|
||||
1
changelogs/internal/newsfragments/2331.feature
Normal file
1
changelogs/internal/newsfragments/2331.feature
Normal file
|
|
@ -0,0 +1 @@
|
|||
Add page search widget.
|
||||
|
|
@ -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:
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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" . -}}
|
||||
|
|
|
|||
|
|
@ -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 -}}
|
||||
|
|
|
|||
Loading…
Reference in a new issue