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/5aa41c7f63356209a43cbef75ccbfbb7fad...