Yann Leboulanger pushed to branch master at gajim / gajim

Commits:
5aa41c7f by Yann Leboulanger at 2018-09-23T20:45:05Z
handle error message from MUC correctly. Fixes #9280

- - - - -


2 changed files:

- gajim/common/modules/message.py
- gajim/common/modules/muc.py


Changes:

=====================================
gajim/common/modules/message.py
=====================================
@@ -82,7 +82,7 @@ class Message:
             return
 
         muc_user = stanza.getTag('x', namespace=nbxmpp.NS_MUC_USER)
-        if muc_user is not None:
+        if muc_user is not None and (stanza.getType() != 'error'):
             if muc_user.getChildren():
                 # Not a PM, handled by MUC module
                 return
@@ -155,8 +155,11 @@ class Message:
 
         if gc_control and jid == fjid:
             if type_ == 'error':
-                msgtxt = _('error while sending %(message)s ( %(error)s )') % {
-                    'message': msgtxt, 'error': stanza.getErrorMsg()}
+                if msgtxt:
+                    msgtxt = _('error while sending %(message)s ( %(error)s 
)') % {
+                        'message': msgtxt, 'error': stanza.getErrorMsg()}
+                else:
+                    msgtxt = _('error: %s') % stanza.getErrorMsg()
                 # TODO: why is this here?
                 if stanza.getTag('html'):
                     stanza.delChild('html')
@@ -245,9 +248,12 @@ class Message:
         if event.mtype == 'error':
             if not event.msgtxt:
                 event.msgtxt = _('message')
-            self._con.dispatch_error_message(
-                event.stanza, event.msgtxt,
-                event.session, event.fjid, timestamp)
+            if event.gc_control:
+                event.gc_control.print_conversation(event.msgtxt)
+            else:
+                self._con.dispatch_error_message(
+                    event.stanza, event.msgtxt,
+                    event.session, event.fjid, timestamp)
             return
 
         if event.mtype == 'groupchat':


=====================================
gajim/common/modules/muc.py
=====================================
@@ -253,6 +253,9 @@ class MUC:
         if muc_user is None:
             return
 
+        if stanza.getType() == 'error':
+            return
+
         decline = muc_user.getTag('decline')
         if decline is not None:
 



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/5aa41c7f63356209a43cbef75ccbfbb7fadc72db

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