The first day of the Hackathon at #IETF124 in Montreal is coming to an end.
We implemented the relatively niche feature of XEP-0444: Message Reactions that allows channels or group chats to restrict the type and number of emoji reactions users can do.¹
This brings us a step closer to advancing and stabilizing the XEP. We didn’t want to do that before, since we aim to have complete implementations before requesting a Last Call.
This entry was edited (1 month ago)
Wolf480pl
in reply to Daniel Gultsch • • •Nicoco
in reply to Daniel Gultsch • • •Oh cool, did you implement a "restricted emoji picker" in Conversations? I only implemented "1 emoji/message" in @gajim
For groupchats I followed the spec, but for 1:1 chats lovetox did not want to rely on anything resource-related (client disco features/caps). I added the restriction form at the "server" (=gateway component) level, by adding a `scope=domain` field. It may be worth an extra sentence in 2.2 of the spec?
dev.gajim.org/gajim/gajim/-/me…
codeberg.org/slidge/slidge/com…
imprv: advertise gateway-wide reaction restrictions · 86066eb4b6
Codeberg.orgMarvin W
Unknown parent • • •@nicoco @gajim I'm not sure we need to announce a scope, I would usually expect restrictions to apply to all "sub JIDs" (that is, it applies to full jid if disco'd on bare JIDs and on bare JIDs when disco'd on domains).
That said, the main issue with announcing it on the domain is that many clients don't disco their peer's domain (also typically not the bare JID) and it would be weird to disco all domains of all contacts just for the purpose of reaction restrictions.
Nicoco
in reply to Marvin W • • •> it would be weird to disco all domains of all contacts
I think the reasonable use-cases are MUCs and gateways. If you use a gateway, you probably have its disco cached somewhere. It makes sense to check for restrictions there specifically if one wants a client that integrates nicely with gateways. It should be "almost" free if it is already implemented for MUCs, I think?
Marvin W
in reply to Nicoco • • •Nicoco
in reply to Marvin W • • •If you want to use a gateway, you likely need to disco it to look for registration mechanisms and adhoc commands you can use on it. I can't speak for all clients, but gajim disco JIDs in your roster, and if you have a slidge-based gateway that properly advertise its gateway type, it also uses that to add an icon to the avatar.
Nicoco
Unknown parent • • •Not a requirement, but a convention that I took from spectrum. Some gateways don't rely on this at all (eg, biboumi).
In slidge it's better if the gateway is in your roster because:
- if you want to map your presences to the gateway'ed network, slidge relies on presences received on the bare domain (arguably, this could be changed)
- the gateway sends presence with status message and a "show" value, eg, "dnd" if something is wrong
Nicoco
in reply to Nicoco • • •@larma
That said, one of many the things on my XMPP-TODO-list is to write a new gateway XEP, and I think I would make adding the bare domain in the roster a strong SHOULD, because I can't think of any downside for this? Do you see any @daniel?