From a539c21f9dc042e4af43eaaecc8531e8ecb5b99a Mon Sep 17 00:00:00 2001 From: Goffi Date: Fri, 17 Jul 2026 16:29:36 +0200 Subject: [PATCH] plugin XEP-0060: fix exception on `_node_cb` modification: Due to the yielding, `_node_cb` could be modified during node event management, resulting in an exception. The items are now shallow copied to avoid issue. --- libervia/backend/plugins/plugin_xep_0060.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libervia/backend/plugins/plugin_xep_0060.py b/libervia/backend/plugins/plugin_xep_0060.py index be92080f..9cbf4161 100644 --- a/libervia/backend/plugins/plugin_xep_0060.py +++ b/libervia/backend/plugins/plugin_xep_0060.py @@ -1989,7 +1989,7 @@ class SatPubSubClient(rsm.PubSubClient): @param event(unicode): one of C.PS_ITEMS, C.PS_RETRACT, C.PS_DELETE @return (iterator[callable]): callbacks for this node/event """ - for registered_node, monitor_data in self.parent_plugin._node_cb.items(): + for registered_node, monitor_data in list(self.parent_plugin._node_cb.items()): if monitor_data.strict_match: if node != registered_node: continue