Philipp Hörist pushed to branch mainwindow at gajim / gajim


Commits:
1c73a02e by lovetox at 2021-04-26T16:34:37+02:00
Fix bugs when joining mucs

- - - - -


4 changed files:

- gajim/common/modules/contacts.py
- gajim/common/modules/muc.py
- gajim/groupchat_control.py
- gajim/gtk/search_view.py


Changes:

=====================================
gajim/common/modules/contacts.py
=====================================
@@ -69,6 +69,7 @@ def add_contact(self, jid, groupchat=False):
             contact = GroupchatContact(self._log, jid, self._account)
         else:
             contact = BareContact(self._log, jid, self._account)
+
         self._contacts[jid] = contact
         return contact
 
@@ -154,6 +155,9 @@ def force_chatstate_update(self):
         for contact in self._resources.values():
             contact.notify('chatstate-update')
 
+    def __repr__(self):
+        return f'{self.jid} ({self._account})'
+
 
 class BareContact(CommonContact):
     def __init__(self, logger, jid, account):


=====================================
gajim/common/modules/muc.py
=====================================
@@ -214,6 +214,7 @@ def join(self, jid, nick=None, password=None, config=None):
         disco_info = app.storage.cache.get_last_disco_info(muc_data.jid,
                                                            max_age=60)
         if disco_info is None:
+            self._set_muc_state(muc_data.jid, MUCJoinedState.JOINING)
             self._con.get_module('Discovery').disco_muc(
                 muc_data.jid,
                 callback=self._on_disco_result)


=====================================
gajim/groupchat_control.py
=====================================
@@ -964,7 +964,7 @@ def _set_control_inactive(self):
         self.update_actions()
 
     def rejoin(self):
-        self._client.get_module('MUC').join(self._muc_data)
+        self._client.get_module('MUC').join(self.room_jid)
 
     # def send_pm(self, nick, message=None):
     #     ctrl = self._start_private_message(nick)
@@ -1706,7 +1706,7 @@ def _on_subject_change_clicked(self, _button):
     def _on_password_set_clicked(self, _button):
         password = self.xml.password_entry.get_text()
         self._muc_data.password = password
-        self._client.get_module('MUC').join(self._muc_data)
+        self._client.get_module('MUC').join(self.room_jid)
         self._show_page('groupchat')
 
     def _on_password_changed(self, entry, _param):
@@ -1763,7 +1763,7 @@ def _on_captcha_cancel_clicked(self, _button=None):
         self._close_control()
 
     def _on_captcha_try_again_clicked(self, _button=None):
-        self._client.get_module('MUC').join(self._muc_data)
+        self._client.get_module('MUC').join(self.room_jid)
         self._show_page('groupchat')
 
     def _on_remove_bookmark_button_clicked(self, _button=None):
@@ -1771,7 +1771,7 @@ def _on_remove_bookmark_button_clicked(self, 
_button=None):
         self._close_control()
 
     def _on_retry_join_clicked(self, _button=None):
-        self._client.get_module('MUC').join(self._muc_data)
+        self._client.get_module('MUC').join(self.room_jid)
         self._show_page('groupchat')
 
     def _on_page_cancel_clicked(self, _button=None):
@@ -1783,5 +1783,5 @@ def _on_page_close_clicked(self, _button=None):
     def _on_groupchat_state_abort_clicked(self, _button):
         app.window.lookup_action('disconnect-%s' % self.control_id).activate()
 
-    def _on_groupchat_state_join_clicked(self, groupchat_state):
-        pass
+    def _on_groupchat_state_join_clicked(self, _groupchat_state):
+        self._client.get_module('MUC').join(self.room_jid)


=====================================
gajim/gtk/search_view.py
=====================================
@@ -197,8 +197,6 @@ def __init__(self, msg, account, jid):
         self.time = msg.time
         self._client = app.get_client(account)
 
-        self.contact = self._client.get_module('Contacts').get_contact(jid)
-
         self.log_line_id = msg.log_line_id
         self.timestamp = msg.time
         self.kind = msg.kind
@@ -207,6 +205,9 @@ def __init__(self, msg, account, jid):
         if msg.kind == KindConstant.GC_MSG:
             self.type = 'groupchat'
 
+        self.contact = self._client.get_module('Contacts').get_contact(
+            jid, groupchat=self.type == 'groupchat')
+
         self._ui = get_builder('search_view.ui')
         self.add(self._ui.result_row_grid)
 



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/1c73a02e55d6ee19fc68ef389c1f959f9655c996

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/1c73a02e55d6ee19fc68ef389c1f959f9655c996
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
Commits@gajim.org
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to