Matrix: a server's own notices are not recognised #225

Closed
opened 2026-09-13 11:59:38 -04:00 by Salastil · 1 comment
Owner

The server notices room (m.server_notice) is treated as an ordinary room.

It is how a homeserver tells a user something it needs them to see - a terms-of-service change, a quota, an account restriction - and Element marks it as such and refuses to let it be left. Here it is a room like any other, from a sender with no particular standing.

The server notices room (`m.server_notice`) is treated as an ordinary room. It is how a homeserver tells a user something it needs them to see - a terms-of-service change, a quota, an account restriction - and Element marks it as such and refuses to let it be left. Here it is a room like any other, from a sender with no particular standing.
Salastil added the featurelow priority labels 2026-09-13 11:59:38 -04:00
Author
Owner

Finished.

The room is marked by the m.server_notice tag, which the homeserver sets itself, so it falls out of the tag reading added for #216. One way only: a server does not un-designate its notices room, and clearing the mark because one sync happened not to carry the tag would put a Leave back in front of somebody that the server refuses to honour.

It takes its own glyph in the list, because the fact worth knowing is that it is not one of the others — a notice about a quota is easy to scroll past when it arrives in what looks like a room a stranger made. The Leave entry becomes a sentence saying the server keeps it open rather than disappearing: an absent entry reads as a client that forgot.

Named serviceRoom on the buffer rather than after the tag — Discord's system messages are the same idea.

e6c7a40

Finished. The room is marked by the `m.server_notice` tag, which the homeserver sets itself, so it falls out of the tag reading added for #216. One way only: a server does not un-designate its notices room, and clearing the mark because one sync happened not to carry the tag would put a Leave back in front of somebody that the server refuses to honour. It takes its own glyph in the list, because the fact worth knowing is that it is not one of the others — a notice about a quota is easy to scroll past when it arrives in what looks like a room a stranger made. The Leave entry becomes a sentence saying the server keeps it open rather than disappearing: an absent entry reads as a client that forgot. Named `serviceRoom` on the buffer rather than after the tag — Discord's system messages are the same idea. [e6c7a40](https://git.salastil.com/Salastil/moho/commit/e6c7a40)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#225