changeset 4372:ec9583cac6c2 default tip

plugin identity: add a timeout when getting identities.
author Goffi <goffi@goffi.org>
date Thu, 15 May 2025 17:45:19 +0200
parents ed683d56b64c
children
files libervia/backend/plugins/plugin_misc_identity.py
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libervia/backend/plugins/plugin_misc_identity.py	Tue May 06 00:34:01 2025 +0200
+++ b/libervia/backend/plugins/plugin_misc_identity.py	Thu May 15 17:45:19 2025 +0200
@@ -20,9 +20,10 @@
 from pathlib import Path
 from base64 import b64encode
 import hashlib
-from typing import Any, Coroutine, Dict, List, Optional, Union
+from typing import Any, Coroutine, Dict, List, Optional, Union, cast
 
-from twisted.internet import defer, threads
+from twisted.internet import defer, reactor, threads
+from twisted.internet.interfaces import IReactorCore
 from twisted.words.protocols.jabber import jid
 
 from libervia.backend.core import exceptions
@@ -790,7 +791,9 @@
                     )
                 )
             )
-        identities_result = await defer.DeferredList(get_identity_list)
+        deferred_list = defer.DeferredList(get_identity_list)
+        deferred_list.addTimeout(5, cast(IReactorCore, reactor))
+        identities_result = await deferred_list
         for idx, (success, identity) in enumerate(identities_result):
             entity_jid = entities[idx]
             if not success: