diff --git a/xep-0444.xml b/xep-0444.xml index f5f2decb..6fa59163 100644 --- a/xep-0444.xml +++ b/xep-0444.xml @@ -75,19 +75,20 @@
- If a client implements message reactions, it MUST specify the - 'urn:xmpp:reactions:0' feature in its service discovery information features - as specified in &xep0030; and the Entity Capabilities profile specified in &xep0115;. -
-+ If a client implements message reactions, it MUST specify the + 'urn:xmpp:reactions:0' feature in its service discovery information features + as specified in &xep0030; and the Entity Capabilities profile specified in &xep0115;. +
++ In some cases, only a limited number and/or subset + of emojis are allowed to react to a message. + This is particularly useful in the context of gateways to other chat + networks that are not as permissive about which and how many emojis + can be used for message reactions. + MUC components may also allow room admins to restrict the subset and/or number + of emojis per message. +
++ To allow clients to adapt their UIs, entities that have such restrictions in place + SHOULD advertise it with &xep0128; in a &xep0004; using the + 'urn:xmpp:reactions:0:restrictions' namespace as FORM_TYPE. +
+- In some cases, only a limited number and/or subset - of emojis are allowed to react to a message. - This is particularly useful in the context of gateways to other chat - networks that are not as permissive about which and how many emojis - can be used for message reactions. - MUC components may also allow room admins to restrict the subset and/or number - of emojis per message. + Entities implementing reaction restrictions MUST reply to invalid reactions payloads + with a message type="error" containing a 'not-acceptable' error. + The error payload SHOULD contain a human-readable text message explaining the reaction rules.
- In this case, the recipient (or any intermediary node) MUST reject the reaction-containing message. -
- When receiving this kind of error message, the reaction-sending entity MUST consider that its emoji reactions - to this message are now void. -
-- Optionally, an error message can contain a reactions element, listing the subset of emojis that were valid in - the original reactions message. -
-- In this case, the reaction-sending entity MUST modify the emojis accordingly. + When receiving this error message, the reaction-sending entity MUST revert the "message reactions" + to its previous state in its user interface.