From 098a2d10621d36fe1bd52b2b22670b721d45b66f Mon Sep 17 00:00:00 2001
From: lovetox <philipp@hoerist.com>
Date: Tue, 2 Jun 2020 15:01:09 +0200
Subject: [PATCH] Client: Update presence of MUCs only on resume

---
 gajim/common/client.py | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/gajim/common/client.py b/gajim/common/client.py
index 84ff0d3c62..d85e36d1ea 100644
--- a/gajim/common/client.py
+++ b/gajim/common/client.py
@@ -403,7 +403,7 @@ def change_status(self, show, message):
 
         self.update_presence()
 
-    def update_presence(self):
+    def update_presence(self, include_muc=True):
         status, message, idle = self.get_presence_state()
         self._priority = app.get_priority(self._account, status)
         self.get_module('Presence').send_presence(
@@ -412,7 +412,8 @@ def update_presence(self):
             status=message,
             idle_time=idle)
 
-        self.get_module('MUC').update_presence()
+        if include_muc:
+            self.get_module('MUC').update_presence()
 
     def get_module(self, name):
         return modules.get(self._account, name)
@@ -427,12 +428,14 @@ def connect_machine(self):
         elif self._connect_machine_calls == 3:
             self.get_module('Roster').request_roster()
         elif self._connect_machine_calls == 4:
-            self._send_first_presence()
+            self._finish_connect()
 
-    def _send_first_presence(self):
+    def _finish_connect(self):
         self._status_sync_on_resume = False
         self._set_client_available()
-        self.update_presence()
+
+        # We did not resume the stream, so we are not joined any MUCs
+        self.update_presence(include_muc=False)
 
         if not self.avatar_conversion:
             # ask our VCard
-- 
GitLab