Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
MSC2997: Add t-shirt #2997
base: old_master
Are you sure you want to change the base?
MSC2997: Add t-shirt #2997
Changes from all commits
57334d8
73658da
4d6c2f3
72e979b
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Mostly for visual reference based on the current MSC state. :) Not finished in the slightest, and more a 15m photoshop adventure than anything else. But maybe it helps future readers to visualize some ideas on this MSC.
Fonts used are roboto mono regular and "Maybe Next" Regular.
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.
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.
Should
body
in this case actually be the user? T-shirts are generally most useful on the user's bodyThere 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.
As @uhoreg pointed out here it might be a plan that, moving forward, any event should have a fallback
body
to display.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.
My suggestion is simply that the t-shirt will be more useful if the body in question were to be the user's body instead of some arbitrary text.
Properly serialising the end user may however prove to be a significant implementation challenge
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.
Oooh, do you mean like this?
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.
That's a medical stuff, so it's probably depending on us to spec HL7 FHIR resource state events. ^_^
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.
Maybe we should make it a state event, then? Since state_keys starting with
@
are preserved so that they only can be set by the user themself and not by others.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.
Yes! And the content is quite obvious.
https://www.hl7.org/fhir/genomics.html
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.
On the other hand, I'm quite worried that the serialization of user would require a space of t-shirt-as-rooms
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.
A POC implementation was done for CCCamp23!
The following constitutes the backend implementation
where
#000000
#FFFFFF
S
,M
,L
,XL
,XXL
,XXXL
[matrix]
logo (boolean), in this casetrue
true
1692049320000
Full event as implemented by us:
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.
(gratz @Sorunome, you're eternalised in a couple T-shirts now.... 🎉)
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 accepted - MSC description updated)
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.
We iterated for Matrix Community Summit 2023!
It is based on the extensible events for media and by extension, files.
content
contains 3 blocks:m.text
fallback block in case your t-shirt manufacturer is unable to reproduce the graphic given by the file.m.file
block holds some common propertiesm.t-shirt
block (unstable prefixorg.matrix.msc2997.t-shirt
) specifies some t-shirt specific detailsSome details of the event metadata are not shown in the backend for comprehensiveness.
where:
sender_mxid
per https://spec.matrix.org/latest/client-server-api/#room-event-formatsome_url
a url in the format of https://spec.matrix.org/latest/client-server-api/#matrix-content-mxc-uris that coincidentally also works when using it with the HTTP(s) protocol instead of MXC - we usedmxc://summit2023.matrixmeetup.de/conference
mime
the material of the shirt, in this caset-shirt/cotton
size
is the T-shirt size in T-Shirt sizes, we usedS
,M
,L
,XL
,XXL
, up to5XL
bgcolor
is the shirt's color, in this case#000000
fgcolor
is the frontend print's color, in this case#FFFFFF
(only relevant if the fallback text is used)fitted
indicates whether it's a fitted T-shirt (boolean) - our implementation lists it explicitly even if falselogo
is whether the frontend depicts the graphic indicated by them.file.url
(boolean), in this casetrue
highlight
is whether the backend implementation uses syntax highlighting (boolean), in this casetrue
timestamp
is the creation or event start, in this case1695283200000
Full event as implemented by us:
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.
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.
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.
It seems shirts have not been considered which I find quite sad since I am a regular user of them
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.
While the increased flexibility for metadata would be useful, specific care should be given to the sizing implementation. Smaller users may have issues with the fit of a room based t-shirt
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.
It could allow us to have not only "One size fits all" t-shirts, but also "One size fits many" - at once!
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.
what about wristbands with text for them?
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.
This is a fair point, though I'm not sure if it would mitigate the security that a t-shirt provides. For one, the surface area of a t-shirt far outweighs that of a wristband. Wristbands can also be made from a variety of materials, some even opting for mere paper.
Not to mention the lack of area for displaying the intended messaging of the MSC.
I think if wristbands is taken as an approach, care should be taken to ensure the security and practicality of the device.
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.
What about a hat? Or similar headware? It is more visible than a wristband and everyone that is affected by MSC tends to have a head. Or do we also want to integrate aliens via a bridge end expect headless users?
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.
What about capes? Almost everyone has a neck and you can make them pretty big to put arbitrary messages on them. Would need to come with a disclaimer not to wear them next to aircrafts though.