fix session problem when other part don't support sessions. Fixes #4429
This commit is contained in:
parent
766284354c
commit
8907f71c86
|
@ -2179,9 +2179,15 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
|
||||||
keyID, timestamp, None))
|
keyID, timestamp, None))
|
||||||
|
|
||||||
if ptype == 'unavailable' and jid_stripped in self.sessions:
|
if ptype == 'unavailable' and jid_stripped in self.sessions:
|
||||||
# automatically terminate sessions that they haven't sent a thread ID in
|
# automatically terminate sessions that they haven't sent a thread ID
|
||||||
|
# in, only if other part support thread ID
|
||||||
for sess in self.sessions[jid_stripped].values():
|
for sess in self.sessions[jid_stripped].values():
|
||||||
if not sess.received_thread_id:
|
if not sess.received_thread_id:
|
||||||
|
contact = gajim.contacts.get_contact(self.name, jid_stripped)
|
||||||
|
|
||||||
|
session_supported = gajim.capscache.is_supported(contact,
|
||||||
|
common.xmpp.NS_ESESSION)
|
||||||
|
if session_supported:
|
||||||
sess.terminate()
|
sess.terminate()
|
||||||
del self.sessions[jid_stripped][sess.thread_id]
|
del self.sessions[jid_stripped][sess.thread_id]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue