-
Notifications
You must be signed in to change notification settings - Fork 380
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSC4221: Room Banners #4221
base: main
Are you sure you want to change the base?
MSC4221: Room Banners #4221
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# MSC4221: Room Banners | ||
|
||
This proposal adds room banners to Matrix, similar to the way Discord has guild banners. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I wonder how this would render in a Matrix client today. Discord has banners for it's guilds but they only really show up on invite to the guild and in the top right of the client when viewing the guild. They're not really tied to individual channels. For Matrix rooms, where would this go? Obviously I don't expect the spec to start designing the client but I fear there isn't enough information about how this should be presented to the user. Would this be displayed on invite? (in which case there needs to be recommendations for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would think that banners should be above room info. |
||
|
||
## Proposal | ||
|
||
Matrix has ways to add room avatars, but those are limited to a 1:1 aspect ratio. This proposal adds banners to rooms, which are a 16:9 aspect ratio. | ||
A banner state event should have the type `m.room.banner` and the content should contain the `url` in `mxc://` format. | ||
Example event: | ||
```json | ||
{ | ||
"type": "m.room.banner", | ||
"sender": "@everypizza:chat.blahaj.zone", | ||
"content": { | ||
"info": { | ||
"mimetype": "image/jpeg" | ||
}, | ||
"url": "mxc://…/…" | ||
}, | ||
… | ||
} | ||
Comment on lines
+11
to
+21
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. New events should consider how they fit in with extensible events. For example, #3765 turns room topics into extensible events There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should it become |
||
``` | ||
## Potential issues | ||
|
||
A malicious user could upload a banner with explicit or illegal content. A future MSC may provide a way to mark room pictures or banners as sensitive using [MSC4193](http://github.com/matrix-org/matrix-spec-proposals/pull/4193). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Some concerns about having reasonable fallbacks here. Not every client would be able to display a banner (and I'm not sure every user is going to want to be confronted with a banner in their client), so I think there should be some way to fallback to textual representation of the banner. I don't know how common it is for banners to contain actual information, usually they seem to be more decorative? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. By "sensitive content", I mean things that would commonly have a content warning on platforms like the Fediverse such as food, lewd stuff, politics, etc. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sorry, I commented a line below where I meant to :). This was a separate concern. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
sorry for offtopic, but why food is sensitive content? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
@officialdakari Propably because Eating Disorder. It shouldn't be required, but some people on Fediverse go overboard with it. /offtopic |
||
|
||
## Alternatives | ||
|
||
Pinned messages and room topics are in similar areas of the UI in some clients. | ||
|
||
## Security considerations | ||
|
||
None I can think of. | ||
|
||
## Unstable prefix | ||
|
||
While this MSC is unstable, clients wanting to implement this should use `page.codeberg.everypizza.room.banner` instead of `m.room.banner`. | ||
|
||
## Dependencies | ||
|
||
N/A |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Implementation requirements:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:)