stop sending chatstates when remote server doesn't respond anymore. Don't acknoledge error message receipes. Fixes #4064
This commit is contained in:
parent
3802e01bba
commit
c31d3e526a
|
@ -2004,7 +2004,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
|
||||||
if msg.getTag('request', namespace=common.xmpp.NS_RECEIPTS) \
|
if msg.getTag('request', namespace=common.xmpp.NS_RECEIPTS) \
|
||||||
and gajim.config.get_per('accounts', self.name,
|
and gajim.config.get_per('accounts', self.name,
|
||||||
'answer_receipts') and ((contact and contact.sub \
|
'answer_receipts') and ((contact and contact.sub \
|
||||||
not in (u'to', u'none')) or gc_contact):
|
not in (u'to', u'none')) or gc_contact) and mtype != 'error':
|
||||||
receipt = common.xmpp.Message(to=frm, typ='chat')
|
receipt = common.xmpp.Message(to=frm, typ='chat')
|
||||||
receipt.setID(msg.getID())
|
receipt.setID(msg.getID())
|
||||||
receipt.setTag('received',
|
receipt.setTag('received',
|
||||||
|
|
|
@ -892,6 +892,11 @@ class Interface:
|
||||||
jids = full_jid_with_resource.split('/', 1)
|
jids = full_jid_with_resource.split('/', 1)
|
||||||
jid = jids[0]
|
jid = jids[0]
|
||||||
|
|
||||||
|
if array[1] == '503':
|
||||||
|
# If we get server-not-found error, stop sending chatstates
|
||||||
|
for contact in gajim.contacts.get_contacts(account, jid):
|
||||||
|
contact.composing_xep = False
|
||||||
|
|
||||||
session = None
|
session = None
|
||||||
if len(array) > 5:
|
if len(array) > 5:
|
||||||
session = array[5]
|
session = array[5]
|
||||||
|
|
Loading…
Reference in New Issue