On Mon, 30 Jun 2025 at 11:16, Timothée Jaussoin <edhelas(a)movim.eu> wrote:
A few weeks ago I made an important pull request to complete, fix and update the
XEP-0317: Hats.
https://github.com/xsf/xeps/pull/1437
This PR included the following changes:
Specify a urn:xmpp:hats:commands:dcreate command to add a hat to the available list
Specify a urn:xmpp:hats:commands:ddestroy command to destroy a hat from the list
Clarify how the service should broadcast the hat changes when it is edited, assigned,
removed or destroyed
Specify a way for an entity to get the complete list of hats using a hash in disco#info
Add a hue optional parameter allowing entities to assign a color to the hat that can be
displayed properly in any conditions on the client (as explained in XEP-0392: Consistent
Color Generation)
Standardize all the form fields using XEP-0068
Fix some typos
I tried to reach the authors without success so I'm trying again using the mailing
list.
I'd really like to move it forward then we can start implementing them in our clients
and servers.
Sorry, I did actually respond in xsf@ the day after you submitted the
PR but I understand it was easily missed.
I mentioned that I'm fine with these changes, as long as the commands
are optional for the server. I still don't see any text explicitly
stating this, and I wouldn't want the XEP to mandate that these
commands are always available.
The reason is that a lot of deployments I have worked on that use hats
typically pull this information from another source of truth (for
example, LDAP or some database) and do not allow free creation of
hats. For example, in certain deployments it wouldn't be okay for a
student to create a group chat, create a "Teacher" hat, and then
assign it to themselves and/or their friends.
Obviously if you want to build a client management UI for hats,
because you are building a public self-service platform (such as, you
mentioned, Discord), then it's good to have standard commands for
these operations in XMPP.
Also, a minor nit, but it might be nice to make the command nodes a
bit more sensible. They don't make sense as the XEP has evolved. I'll
leave some comments inline.
Regards,
Matthew