diff --git a/libervia/backend/plugins/plugin_xep_0384.py b/libervia/backend/plugins/plugin_xep_0384.py index 77839b1b..8d005c35 100644 --- a/libervia/backend/plugins/plugin_xep_0384.py +++ b/libervia/backend/plugins/plugin_xep_0384.py @@ -2702,6 +2702,13 @@ class OMEMO: @param items_event: The event. @param profile: The profile this event belongs to. """ + # Skip if session manager is already being built to prevent reentrancy loop + # (device list refresh during init triggers this handler again) + if profile in self.__session_manager_waiters: + log.debug( + f"Ignoring device list update for {profile} (session manager being built)" + ) + return sender = cast(jid.JID, items_event.sender) items = cast(List[domish.Element], items_event.items)