diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2017-11-10 01:11:24 +0100 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2017-11-10 01:11:24 +0100 |
commit | d1df522fd95bd1ca9b1459b5248ee67f26b7f12d (patch) | |
tree | 0d086ea120883d4cff5b4a87dbdd2d8f38c79505 /src/mod_mam.erl | |
parent | mod_mam: Always strip stanza IDs (diff) |
mod_push: Avoid notification duplicates (again)
Now that mod_mam no longer uses the 'offline_message_hook', avoid
duplicating notifications for messages written to both MAM and offline
storage in another way.
Diffstat (limited to 'src/mod_mam.erl')
-rw-r--r-- | src/mod_mam.erl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mod_mam.erl b/src/mod_mam.erl index 18c23b13..e24519fc 100644 --- a/src/mod_mam.erl +++ b/src/mod_mam.erl @@ -270,7 +270,8 @@ sm_receive_packet(#message{from = Peer, to = JID} = Pkt) -> true -> case store_msg(Pkt1, LUser, LServer, Peer, recv) of {ok, ID} -> - set_stanza_id(Pkt1, JID, ID); + xmpp:put_meta(set_stanza_id(Pkt1, JID, ID), + mam_archived, true); _ -> Pkt1 end; @@ -291,7 +292,8 @@ user_send_packet({#message{to = Peer} = Pkt, #{jid := JID} = C2SState}) -> case store_msg(xmpp:set_from_to(Pkt1, JID, Peer), LUser, LServer, Peer, send) of {ok, ID} -> - set_stanza_id(Pkt1, JID, ID); + xmpp:put_meta(set_stanza_id(Pkt1, JID, ID), + mam_archived, true); _ -> Pkt1 end; @@ -321,7 +323,8 @@ muc_filter_message(#message{from = From} = Pkt, StorePkt = strip_x_jid_tags(NewPkt), case store_muc(MUCState, StorePkt, RoomJID, From, FromNick) of {ok, ID} -> - set_stanza_id(NewPkt, RoomJID, ID); + xmpp:put_meta(set_stanza_id(NewPkt, RoomJID, ID), + mam_archived, true); _ -> NewPkt end; |