-
edhelas
I have some standard problem with Hats, it seems that the only client implementation in the wild (conversejs) is doing some kind of non-standard things, compatible with Prosody (the module was developped for conversejs)
-
edhelas
And I see that ejabberd is having some kind of support
-
edhelas
https://upload.movim.eu/files/9d94237298995552fa13436420195fbca436dce7/ZWaMZQEcFUoh/image.png
-
edhelas
But I'm not sure if its the conversejs way or the official XEP-0317 way, I was not able to make it work with ejabberd from the XEP flow :/
-
edhelas
jcbrand Holger Zash, any though ?
-
MattJ
edhelas, XEP-0317 needs work. The most important thing is the display of hats, which is something I think we can all vaguely agree on already.
-
MattJ
The part that is still up in the air, is how to assign hats. That, in my experience, is something very specific to a given deployment. The XEP gives lots of possibilities of how hats can be used, but in reality most of them (e.g. student/teacher) will be coming from a backend auth database, rather than being assigned by clients.
-
MattJ
I'm not really sure what parts ejabberd implements currently, but I'd be interested
-
MattJ
Also I'm not sure what you mean by the "official XEP-0317 way"
-
MattJ
It basically doesn't define a syntax for hats currently (well, it defines multiple)
-
edhelas
Yeah, to me I have more questions than aswers for that XEP
-
edhelas
But I'd be very happy to be part of a small development jam to work on it
-
MattJ
Let's do it
-
edhelas
I was wondering if it would be possible to have some funding for such thing ? Like we set a date and a place in Europe, we ask who would like to join and we see how we can cover the expenses. I can see other jams like this, for example for the multi-user video conferencing thing :)
-
MattJ
I don't know if we even need that
-
MattJ
I've got a basic diff for the XEP for the hat syntax already
-
edhelas
For that XEP a small remote jam could be enough yes
-
MattJ
We only need to decide if there will be a protocol for users to add/remove their own hats, a protocol for admins to add/remove hats of users, and if we decide 'yes' for either of those, determine if they should use ad-hoc commands or not
-
edhelas
If we have a few servers and clients devs interested about around the table it would be perfect :)
-
edhelas
Yes :) !
-
edhelas
To me I'd prefer to have more of a XMPP - IQ based protocol, ad-hoc is a bit to high level for such thing no ?
-
edhelas
Like I just discover the Hats capabilities with the MUC caps, then I just send some forms to the MUC if possible as a user and/or admin
-
MattJ
Me too. And I already have such a protocol, I have a hats.txt locally (but I never implemented it IIRC). Let me see if I can dig it up...
-
edhelas
The hats will be broadcasted with the presences ?
-
MattJ
Yes, same as the XEP already says
-
edhelas
I'm ok with that, I have some buffers to mass handle them and insert in the DB
-
edhelas
Perfect š
-
edhelas
Also, there a notion of colors that could be used for the hats.
-
MattJ
https://matthewwild.co.uk/uploads/hats.txt
-
MattJ
Yeah, we could add that
-
MattJ
But then how far do we go? Icons? Animated GIFs? :)
-
Kev
Why not?
-
Kev
Or, rather, if someone wants that, there's no reason they shouldn't be able to extend the hat definition with what they need.
-
MattJ
If the hat has a URI recognised to the client, the client can of course decorate it however it wants
-
MattJ
Kev, hats (at least in my unpublished draft) may contain arbitrary custom payloads. But that's not the same as e.g. a standard field that tells clients (even if they don't recognise a certain hat) what colour it should be displayed with.
-
Kev
I do think there's value in including colour in the core spec, but things like animated GIFs can easily be added is child elements.✎ -
Kev
I do think there's value in including colour in the core spec, but things like animated GIFs can easily be added in child elements. ✏
-
Kev
MattJ: Right.
-
jonasā
please include colour as a '394 angle value instead of RGB :-)
-
jonasā
easier to make accessible
-
jonasā
s/angle/hue/, if you like
-
Zash
Hats and Security labels!
-
MattJ
See, even colour is contentious :)
-
Zash
coloĆæur?
-
edhelas
https://upload.movim.eu/files/9d94237298995552fa13436420195fbca436dce7/9qYoZg6Q0Eth/image.png
-
edhelas
The Discord way should be "good enough" to me, and yes we can make it compatible with accessiblity :)
-
edhelas
MattJ I don't see the difference between <list> and <current>
-
MattJ
edhelas, <list> shows you what hats are available in this room, <current> shows you what hats you are currently wearing
-
edhelas
Not a big fan of the <doff>/<don> (what do they means ?) thing as well, I'd prefer a <set>/<remove>
-
MattJ
Yes, I'm in favour of that. It's just a funny quirk from the original XEP I preserved :)
-
edhelas
The rest seems file to me :) A think some caps should help the clients for their UI setup. urn:xmpp:hats:1#set_admin_only or things like that
-
edhelas
And this can be configured in the MUC config form
-
MattJ
On the server side it's quite complicated
-
edhelas
Ah :p
-
MattJ
We want to support hats that people can choose to wear or not wear, and also hats that they are forced to wear
-
MattJ
For example, in the education example, you might not want a teacher to be able to remove their teacher hat and pretend to be a student
-
edhelas
Ah yes indeed :/
-
MattJ
They might even be an admin of the room
-
edhelas
Got an idea on that ?
-
MattJ
But still the deployment would always announce them as a teacher
-
MattJ
Well it's kind of done already, in Prosody
-
MattJ
See https://modules.prosody.im/mod_muc_hats_api and the 'Data model' section
-
MattJ
So there are hats that default to on, hats that default to off, and hats that are required to wear (for users they apply to)
-
edhelas
So you present the list differently for each users, seems good to me
-
MattJ
From a protocol perspective it's not hard. The server will just automatically include the required/default hats in presence, and show voluntary hats to users via the list command.
-
edhelas
So the difference with Discord would be that users that are not admin will be able to set/unset some hats
-
MattJ
They can do that in Discord? or not?
-
Kev
I note that on Discord it's always server-assigned hats(roles), and people then have creative ways of allowing users to self-assign roles by having admin bots.
-
edhelas
(in Discord its only set by admins AFAIK)
-
Kev
Heh, perfect timing.
-
edhelas
Yes this
-
MattJ
I think it's easy enough for us to have self-service hats part of the protocol in XMPP
-
edhelas
To me its also a good solution, because then you can have "clever bot" that can handle that
-
Kev
The usual way on Discord is > To assign yourself roles on this server, react to this message. š¤£for the 'Kev' role, šfor the XMPP role
-
Kev
> I think it's easy enough for us to have self-service hats part of the protocol in XMPP Yes, and given that people are already using bots as a workaround on Discord, this seems very sensible to do. Also possibly flagging which roles/hats are self-service, and which are not, in a given context.
-
MattJ
It doesn't mean you can't do it the bot way, but I don't see why we can't also allow clients to provide a nicer UI around it
-
edhelas
Kev and accept the 20 pages of rules, send a private message to an admin, and then wait 1 week to be in and find out the server is kinda dead for 2 years :p
-
edhelas
MattJ to me I'd actually prefer as a client to see the full hats list and have some XML parameters on it to know if they can be set by myself or an admin
-
edhelas
<hat uri="http://tech.example.edu/hats#Teacher" title="Teacher" settable="true"/>
-
edhelas
Helps with the "discoverability", the user can then ask the admin to allow him to get a forbidden role
-
MattJ
Makes sense. I might look for an alternative indication mechanism to modifying the <hat/> element, but I agree it would be good to make restricted hats discoverable (if the server allows exposing them)
-
MattJ
If you've no other immediate feedback, I can polish off my draft update and share a proposal for the new XEP-0317 this week
-
MattJ
Then if we're all happy, submit it
-
Kev
> MattJ to me I'd actually prefer as a client to see the full hats list and have some XML parameters on it to know if they can be set by myself or an admin That's what I was suggesting, too.
-
edhelas
To me that should arlready a good base to work on :)
-
edhelas
*be
-
edhelas
And I'd be really happy to add it in Movim (once the servers guys figure out how to implement it :p)
-
MattJ
I can provide a test server
-
edhelas
(it's weird that I don't have MAM detected on this MUC, with stanza-id I can then add a reaction to the messages)
-
edhelas
(ah, might be a bug on my side)
-
emus
Please remind: We are inviting for a XMPP End of the Year Talk 2022! Listen in, Meet & Greet, talk & discuss - but mainly have a good time with the XMPP Community folks! Feel free to announce your topics or software to present, discuss about so we can announce when it comes closer! Just reply to this mail or catch me in the chat (--> emus). - Goffi will have a short talk. When: 6th Dec 2022, 19:00 CET Join via Jitsi instance: https://teamjoin.de/XMPP_EndOfTheYearTalk2022 Talk to you soon, Ed
-
edhelas
<presence to='miho@movim.eu/movimhbo6dQ' from='xsf@muc.xmpp.org'><x xmlns='vcard-temp:x:update'><photo>b85aee85ddb23a4c1111c7d43ba6ab9afd76c552</photo></x></presence>
-
edhelas
Not capabilities in this room presence ?