Diff

plugins/mod_pep.lua @ 9179:82fad995a149

util.pubsub: Pass "retract" as the type of such broadcasts This moves some XEP-0060 awkwardness out of util.pubsub and into mod_pubsub A retraction is broadcast in an <items> container, whereas most other kinds of broadcasts are in a container with a name matching the 'kind' attribute.
author Kim Alvefur <zash@zash.se>
date Thu, 16 Aug 2018 14:32:21 +0200
parent 9160:e13a1a0b0107
child 9189:8fadd3d6c8d3
line wrap: on
line diff
--- a/plugins/mod_pep.lua	Thu Aug 16 06:05:11 2018 +0200
+++ b/plugins/mod_pep.lua	Thu Aug 16 14:32:21 2018 +0200
@@ -124,6 +124,9 @@
 local function get_broadcaster(username)
 	local user_bare = jid_join(username, host);
 	local function simple_broadcast(kind, node, jids, item)
+		if kind == "retract" then
+			kind = "items"; -- XEP-0060 signals retraction in an <items> container
+		end
 		local message = st.message({ from = user_bare, type = "headline" })
 			:tag("event", { xmlns = xmlns_pubsub_event })
 				:tag(kind, { node = node });