Philipp Hörist pushed to branch master at gajim / gajim
Commits: 77be67f6 by Philipp Hörist at 2018-02-25T22:02:39+01:00 Only use fallback duplicate search on MAM < 2
- - - - - c6e39309 by Philipp Hörist at 2018-02-26T20:49:01+01:00 Use MessageSentEvent to print to ChatControl
Its later than StanzaMessageOutgoingEvent, this allows encryption Plugins to not return the encrypted payload immediatly. For example encrypting may take some time because a password is needed or the load has to be encrypted in another Thread.
- - - - -
3 changed files:
- gajim/chat_control.py - gajim/common/connection.py - gajim/common/message_archiving.py
Changes:
===================================== gajim/chat_control.py ===================================== --- a/gajim/chat_control.py +++ b/gajim/chat_control.py @@ -238,7 +238,7 @@ class ChatControl(ChatControlBase): self._nec_chatstate_received) app.ged.register_event_handler('caps-received', ged.GUI1, self._nec_caps_received) - app.ged.register_event_handler('stanza-message-outgoing', ged.OUT_POSTCORE, + app.ged.register_event_handler('message-sent', ged.OUT_POSTCORE, self._message_sent) app.ged.register_event_handler( 'mam-decrypted-message-received', @@ -1160,7 +1160,7 @@ class ChatControl(ChatControlBase): self._nec_chatstate_received) app.ged.remove_event_handler('caps-received', ged.GUI1, self._nec_caps_received) - app.ged.remove_event_handler('stanza-message-outgoing', ged.OUT_POSTCORE, + app.ged.remove_event_handler('message-sent', ged.OUT_POSTCORE, self._message_sent)
self.unsubscribe_events()
===================================== gajim/common/connection.py ===================================== --- a/gajim/common/connection.py +++ b/gajim/common/connection.py @@ -2075,10 +2075,7 @@ class Connection(CommonConnection, ConnectionHandlers): obj.timestamp = time.time() obj.stanza_id = self.connection.send(obj.msg_iq, now=obj.now)
- app.nec.push_incoming_event(MessageSentEvent( - None, conn=self, jid=obj.jid, message=obj.message, keyID=obj.keyID, - chatstate=obj.chatstate, automatic_message=obj.automatic_message, - stanza_id=obj.stanza_id, additional_data=obj.additional_data)) + app.nec.push_incoming_event(MessageSentEvent(None, **vars(obj)))
if isinstance(obj.jid, list): for j in obj.jid:
===================================== gajim/common/message_archiving.py ===================================== --- a/gajim/common/message_archiving.py +++ b/gajim/common/message_archiving.py @@ -200,13 +200,19 @@ class ConnectionArchive313: def _nec_mam_decrypted_message_received(self, obj): if obj.conn.name != self.name: return - # if self.archiving_namespace != nbxmpp.NS_MAM_2: - # Fallback duplicate search without stanza-id - duplicate = app.logger.search_for_duplicate( - self.name, obj.with_, obj.timestamp, obj.msgtxt) - if duplicate: - # dont propagate the event further - return True + + namespace = self.archiving_namespace + if obj.groupchat: + namespace = muc_caps_cache.get_mam_namespace(obj.room_jid) + + if namespace != nbxmpp.NS_MAM_2: + # Fallback duplicate search without stanza-id + duplicate = app.logger.search_for_duplicate( + self.name, obj.with_, obj.timestamp, obj.msgtxt) + if duplicate: + # dont propagate the event further + return True + app.logger.insert_into_logs(self.name, obj.with_, obj.timestamp,
View it on GitLab: https://dev.gajim.org/gajim/gajim/compare/c74c888506777ce137688fc58a2b7a4293...
--- View it on GitLab: https://dev.gajim.org/gajim/gajim/compare/c74c888506777ce137688fc58a2b7a4293... You're receiving this email because of your account on dev.gajim.org.