-
-
Notifications
You must be signed in to change notification settings - Fork 121
Description
matrix-org/matrix-appservice-irc#1301 adds the ability to specify per-room configuration for the IRC bridge, to configure how things like long messages are pastebinned or the formats used for relaying replies.
However, we don't have the ability in general for a room/space admin to recommend that certain features are not used in a given room (unless they're features which map to specific event types which could be blocked by PLs). But for enforcing cultural norms in a room, or for moderation, or managing bridging impedance-mismatches, this could be a super useful feature.
So, I think we should define a config format which recommends how clients should be behave in terms of:
- The maximum length of messages sent to a room
- The maximum number of lines in messages sent to a room
- Whether files are allowed in the room
- Whether images/videos are allowed in a room
- Whether stickers allowed in a room
- Whether voice messages are allowed in a room
- What text formats are allowed
- Whether colours/colors/rainbows are allowed
- Whether edits are allowed
- Whether replies are allowed
- Whether reactions are allowed (although these could be blocked via PLs)
- Whether visual effects like confetti are allowed (see also Upgrade showChatEffects to room-level setting exposure matrix-react-sdk#6075)
A well-behaved client SHOULD then honour these restrictions in its UI when sending content (although in general these are recommendations and are not enforced by the servers).
In future, once matrix-org/matrix-spec-proposals#1767 lands, we could also enforce more of these by blocking the event types using PLs (e.g. blocking files/images/edits/replies/reactions).
This in turn would make IRC bridging way nicer, as the bridge could configure portal rooms by default to have no edits/replies etc, and so eliminate the hate that Matrix gets for that impedance mismatch - while still letting room admins loosen the restriction if they care.
(P.S. i can't believe we don't have this already, but I've looked and failed to find a bug for it).