diff --git a/libervia/backend/plugins/plugin_xep_0198.py b/libervia/backend/plugins/plugin_xep_0198.py index f0b3e5db..aae7f952 100644 --- a/libervia/backend/plugins/plugin_xep_0198.py +++ b/libervia/backend/plugins/plugin_xep_0198.py @@ -475,11 +475,11 @@ class XEP_0198(object): d.addCallback(lambda __: defer.ensureDeferred(client.roster.request_roster())) # we add got_roster to be sure to have roster before sending initial presence d.addCallback(lambda __: client.roster.got_roster) - if plg_0313 is not None: - # we retrieve one2one MAM archives - d.addCallback(lambda __: defer.ensureDeferred(plg_0313.resume(client))) # initial presence must be sent manually d.addCallback(lambda __: client.presence.available()) + if plg_0313 is not None: + # we retrieve one2one MAM archives (fire and forget, don't block) + defer.ensureDeferred(plg_0313.resume(client)) if plg_0045 is not None: # we re-join MUC rooms muc_d_list = defer.DeferredList(