diff --git a/libervia/backend/plugins/plugin_xep_0473.py b/libervia/backend/plugins/plugin_xep_0473.py index 25f907b6..1d525825 100644 --- a/libervia/backend/plugins/plugin_xep_0473.py +++ b/libervia/backend/plugins/plugin_xep_0473.py @@ -757,6 +757,14 @@ class XEP_0473: f"Invalid event's items element, missing node: {items_elt.toXml()}" ) return + + has_encrypted = any( + next(item_elt.elements(NS_OXPS, "encrypted"), None) + for item_elt in items_elt.elements(pubsub.NS_PUBSUB_EVENT, "item") + ) + if not has_encrypted: + return + node_uri = uri.build_xmpp_uri("pubsub", path=pubsub_service.full(), node=node) shared_secrets = await self.load_secrets(client, node_uri) if shared_secrets is None: