MUC: Fix legacy hats (thanks nicoco)
authorKim Alvefur <zash@zash.se>
Thu, 28 Mar 2024 15:39:59 +0100
changeset 13473 f9171624fd03
parent 13472 98806cac64c3
child 13475 afad3b2725bf
MUC: Fix legacy hats (thanks nicoco) Why do we not have tests for this?
plugins/muc/hats.lib.lua
--- a/plugins/muc/hats.lib.lua	Thu Mar 28 15:26:57 2024 +0100
+++ b/plugins/muc/hats.lib.lua	Thu Mar 28 15:39:59 2024 +0100
@@ -16,20 +16,26 @@
 	local hats = aff_data and aff_data.hats;
 	if not hats then return; end
 	local hats_el;
+	local legacy_hats_el;
 	for hat_id, hat_data in pairs(hats) do
 		if hat_data.active then
 			if not hats_el then
 				hats_el = st.stanza("hats", { xmlns = xmlns_hats });
 			end
 			hats_el:tag("hat", { uri = hat_id, title = hat_data.title }):up();
+
 			if hats_compat then
 				if not hats_el then
-					hats_el = st.stanza("hats", { xmlns = xmlns_hats_legacy });
+					legacy_hats_el = st.stanza("hats", { xmlns = xmlns_hats_legacy });
 				end
-				hats_el:tag("hat", { uri = hat_id, title = hat_data.title }):up();
+				legacy_hats_el:tag("hat", { uri = hat_id, title = hat_data.title }):up();
 			end
 		end
 	end
 	if not hats_el then return; end
 	event.stanza:add_direct_child(hats_el);
+
+	if legacy_hats_el then
+		event.stanza:add_direct_child(legacy_hats_el);
+	end
 end);