Fix receipts for MUC-PMs

This commit is contained in:
Philipp Hörist 2018-11-19 19:33:28 +01:00
parent 9c99af4f16
commit 193092d0a2
1 changed files with 11 additions and 6 deletions

View File

@ -72,15 +72,15 @@ class Receipts:
self._con.connection.send(receipt) self._con.connection.send(receipt)
def _get_contact(self, event): def _get_contact(self, event):
if event.mtype == 'chat': if event.muc_pm:
contact = app.contacts.get_contact(self._account, event.jid)
if contact and contact.sub not in ('to', 'none'):
return contact
else:
return app.contacts.get_gc_contact(self._account, return app.contacts.get_gc_contact(self._account,
event.jid, event.jid,
event.resource) event.resource)
contact = app.contacts.get_contact(self._account, event.jid)
if contact is None and contact.sub not in ('to', 'none'):
return contact
@staticmethod @staticmethod
def _build_answer_receipt(to, receipt_id): def _build_answer_receipt(to, receipt_id):
receipt = nbxmpp.Message(to=to, typ='chat') receipt = nbxmpp.Message(to=to, typ='chat')
@ -95,11 +95,16 @@ class Receipts:
log.warning('Receipt without ID: %s', event.stanza) log.warning('Receipt without ID: %s', event.stanza)
return return
log.info('Received %s', receipt_id) log.info('Received %s', receipt_id)
jid = event.jid
if event.muc_pm:
jid = event.fjid
app.nec.push_incoming_event( app.nec.push_incoming_event(
NetworkIncomingEvent('receipt-received', NetworkIncomingEvent('receipt-received',
conn=self._con, conn=self._con,
receipt_id=receipt_id, receipt_id=receipt_id,
jid=event.jid)) jid=jid))
def get_instance(*args, **kwargs): def get_instance(*args, **kwargs):