diff --git a/src/common/zeroconf/client_zeroconf.py b/src/common/zeroconf/client_zeroconf.py index c5049c6fc968c81da05d4334f47ea543400e4a2e..b91b98c216131630d33238e9abd2d949af1a3322 100644 --- a/src/common/zeroconf/client_zeroconf.py +++ b/src/common/zeroconf/client_zeroconf.py @@ -803,11 +803,19 @@ class ClientZeroconf: def on_ok(_waitid): # if timeout: # self._owner.set_timeout(timeout) - to = stanza.getTo() + to = unicode(stanza.getTo()) + to = gajim.get_jid_without_resource(to) + + try: + item = self.roster[to] + except KeyError: + # Contact offline + item = None + conn = None if to in self.recipient_to_hash: conn = self.connections[self.recipient_to_hash[to]] - elif item['address'] in self.ip_to_hash: + elif item and item['address'] in self.ip_to_hash: hash_ = self.ip_to_hash[item['address']] if self.hash_to_port[hash_] == item['port']: conn = self.connections[hash_]