Compare commits

...

4 commits

Author SHA1 Message Date
Kévin Commaille 8839cc0aa9
Merge 3c17aa3789 into 13aa6e83ae 2025-12-06 19:03:14 -07:00
Johannes Marbach 13aa6e83ae
Use more specific names for the version picker CSS classes and add them to the PurgeCSS safelist (#2264)
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
2025-12-05 18:06:17 +00:00
Kévin Commaille 3c17aa3789
Add changelog
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-25 10:44:39 +02:00
Kévin Commaille 506bc1a164
Clarify that stripped state in /sync response must include m.room.member event of user
And that event has the same format as in join rooms, with `event_id` and
`origin_server_ts`.

This has always been the case in homeserver implementations.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-25 09:56:33 +02:00
6 changed files with 28 additions and 11 deletions

View file

@ -44,10 +44,10 @@ function appendVersion(parent, name, segment, url) {
// The list item
const li = document.createElement("li");
if (segment === selected) {
li.classList.add("selected");
li.classList.add("version-picker-selected");
}
if (segment === "latest") {
li.classList.add("latest");
li.classList.add("version-picker-latest");
}
parent.appendChild(li);

View file

@ -57,18 +57,13 @@ Custom SCSS for the Matrix spec
overflow-y: auto;
}
/* As these styles are only applied by JavaScript, PurgeCSS doesn't see them
* in the source code and removes them unless we explicitly tell it not to.
*/
/* purgecss start ignore */
ul#version-selector li.selected a {
ul#version-selector li.version-picker-selected a {
font-weight: bold;
}
ul#version-selector li.latest a {
ul#version-selector li.version-picker-latest a {
color: $secondary;
}
/* purgecss end ignore */
}
/* Styles for the sidebar nav */

View file

@ -0,0 +1,2 @@
Clarify that the stripped state in `invite_state` and `knock_state` in `GET /sync` response must
include the full `m.room.member` event of the user.

View file

@ -0,0 +1 @@
Add version picker in the navbar.

View file

@ -374,8 +374,14 @@ paths:
description: |-
The [stripped state events](/client-server-api/#stripped-state) that form the
invite state.
MUST also include the `m.room.member` event of the user with a membership of
`invite`, and using the same event format as joined rooms with the `event_id`
and `origin_server_ts` fields.
items:
$ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml
anyOf:
- $ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml
- $ref: definitions/client_event_without_room_id.yaml
type: array
knock:
title: Knocked rooms
@ -399,8 +405,14 @@ paths:
description: |-
The [stripped state events](/client-server-api/#stripped-state) that form the
knock state.
MUST also include the `m.room.member` event of the user with a membership of
`knock`, and using the same event format as joined rooms with the `event_id` and
`origin_server_ts` fields.
items:
$ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml
anyOf:
- $ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml
- $ref: definitions/client_event_without_room_id.yaml
type: array
leave:
title: Left rooms
@ -633,6 +645,8 @@ paths:
"sender": "@alice:example.com",
"type": "m.room.member",
"state_key": "@bob:example.com",
"event_id": "$19dl9d3848dJLle:example.com",
"origin_server_ts": 1432735439654,
"content": {
"membership": "invite"
}
@ -657,6 +671,8 @@ paths:
"sender": "@bob:example.com",
"type": "m.room.member",
"state_key": "@bob:example.com",
"event_id": "$Fg83Kl3764di23a:example.com",
"origin_server_ts": 143273039402,
"content": {
"membership": "knock"
}

View file

@ -16,6 +16,9 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
extensions: ["json"],
},
],
// As these classes are only applied by JavaScript, PurgeCSS doesn't see them
// in the source code and removes them unless we explicitly tell it not to.
safelist: ['version-picker-selected', 'version-picker-latest']
});
module.exports = {