From 1c6cecb6ffc09bb4f8b0c08c502e67b82f38dc33 Mon Sep 17 00:00:00 2001 From: Hans van Zijst Date: Wed, 27 Nov 2024 14:37:40 +0100 Subject: [PATCH] Added documentation for server_notices. --- matrix/synapse/README.md | 61 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/matrix/synapse/README.md b/matrix/synapse/README.md index f7cfddf..90062a9 100644 --- a/matrix/synapse/README.md +++ b/matrix/synapse/README.md @@ -408,7 +408,10 @@ See for more options [Synapse's documentation](https://element-hq.github.io/syna # TURN Check for more information about [how to configure the TURN -server](../coturn). Once you've set up your TURN server, configure it in +server](../coturn) or [LiveKit](../element-call#livekit). You probably want +LiveKit, but read on if you choose coturn. + +Once you've set up your TURN server, configure it in Synapse, in `conf.d/turn.yaml`: ``` @@ -430,3 +433,59 @@ the [Synapse documentation](https://element-hq.github.io/synapse/latest/server_n to see how to configure that. It's also necessary for moderation ([see Draupnir](../draupnir)). + + +## Server Notices + +Server notices allow administrators to send messages to users, much like the +`wall` functionality in UNIX/Linux. + +Add this bit of info to `conf.d/server_notices.yaml`: + +``` +server_notices: + system_mxid_localpart: server + system_mxid_display_name: "Server Notices" +# system_mxid_avatar_url: "mxc://matrixdev.example.com/QBBZcaxfrrpvreGeNhqRaCjG" + room_name: "Server Notices" +# room_avatar_url: "mxc://matrixdev.example.com/QBBZcaxfrrpvreGeNhqRaCjG" + room_topic: "Room used by your server admin to notice you of important +information" + auto_join: true +``` + +This means that the user sending the messages (who isn't really a user anyway) +is `server@example.com`, with the display name `Server Notices`. The room that users receive +these messages in is called the same. The room will be created if it doesn't +yet exist, every user that receives a server message will be put in a room +with that name. + +Every user gets his own room, so if you send a server notice to 100 users, +there will be (at least) 100 rooms by that name, all containing 1 user. + +The option `auto_join` means that users will automatically join the room as +soon as it's created. They can leave afterwards, but they'll put into it again +as soon as they receive another server message. + +The two commented out options are the avatars for user and room. This is a bit +tricky. You'll need to upload an image to a room first, so that it's present +in the media store. Then you can refer to it by the ID it gets, in the way +shown above. These avatars will only be set or changed when you send a server +notice. + +Important bit: you must upload these pictures to an unencrypted room. Pictures +in an encrypted room are... well... encrypted, and that causes a problem for +the thumbnailer. Pictures in encrypted rooms are stored as MIME type +`application/octet-stream`, you want one of the formats you configured under +[Homeserver Blocking](#blocking). Or, if you haven't defined a whitelist, at +least an image mimetype... + +You can find the ID of the picture in the database (table `local_media_repository`) +or, more conveniently, in [Synapse-Admin](../synapse-admin), which is also +where you'll want to go if you want to send a server notice. + +In Synapse-Admin, open the User tab, select the user(s) you want to send a +notice to, and click "Send Server Notices". + +If the result is that you're returned to the login screen of Synapse-Admin, +there was an error sending the notice. Check the Synapse logs.