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


Commits:
61c6181f by lovetox at 2021-08-30T20:39:19+02:00
Fix caps update

- - - - -


3 changed files:

- gajim/common/modules/caps.py
- gajim/common/modules/contacts.py
- gajim/gtk/controls/chat.py


Changes:

=====================================
gajim/common/modules/caps.py
=====================================
@@ -109,11 +109,9 @@ def _entity_caps(self, _con, _stanza, properties):
 
         jid = str(properties.jid)
         app.storage.cache.set_last_disco_info(jid, disco_info, cache_only=True)
-        app.nec.push_incoming_event(
-            NetworkEvent('caps-update',
-                         account=self._account,
-                         fjid=jid,
-                         jid=properties.jid.bare))
+
+        contact = self._con.get_module('Contacts').get_contact(properties.jid)
+        contact.notify('caps-update')
 
     def _execute_task(self, task):
         self._log.info('Request %s from %s', task.entity.hash, task.entity.jid)
@@ -160,11 +158,9 @@ def _on_disco_info(self, nbxmpp_task):
         for task in tasks:
             self._remove_task(task)
             self._log.info('Update %s', task.entity.jid)
-            app.nec.push_incoming_event(
-                NetworkEvent('caps-update',
-                             account=self._account,
-                             fjid=str(task.entity.jid),
-                             jid=task.entity.jid.bare))
+            contact = self._con.get_module('Contacts').get_contact(
+                task.entity.jid)
+            contact.notify('caps-update')
 
     def update_caps(self):
         if not app.account_is_connected(self._account):


=====================================
gajim/common/modules/contacts.py
=====================================
@@ -181,6 +181,7 @@ def add_resource(self, resource):
         contact.connect('presence-update', self._on_signal)
         contact.connect('chatstate-update', self._on_signal)
         contact.connect('nickname-update', self._on_signal)
+        contact.connect('caps-update', self._on_signal)
         return contact
 
     def get_resource(self, resource):


=====================================
gajim/gtk/controls/chat.py
=====================================
@@ -176,6 +176,7 @@ def _connect_contact_signals(self):
             'chatstate-update': self._on_chatstate_update,
             'nickname-update': self._on_nickname_update,
             'avatar-update': self._on_avatar_update,
+            'caps-update': self._on_caps_update,
         })
 
     @property
@@ -414,14 +415,9 @@ def _on_nickname_update(self, _contact, _signal_name):
         self.draw_banner_text()
 
     def _on_presence_update(self, _contact, _signal_name):
-        self.update_actions()
         self._update_avatar()
 
-    def _on_caps_update(self, event):
-        if self._type.is_chat and event.jid != self.contact.jid:
-            return
-        if self._type.is_privatechat and event.fjid != self.contact.jid:
-            return
+    def _on_caps_update(self, _contact, _signal_name):
         self.update_ui()
 
     def _on_mam_message_received(self, event):



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/61c6181f2ba51803e07d56209745190d6f7b0c65

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/61c6181f2ba51803e07d56209745190d6f7b0c65
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