summaryrefslogtreecommitdiff
path: root/src/mod_mam.erl
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2017-11-10 01:11:24 +0100
committerHolger Weiss <holger@zedat.fu-berlin.de>2017-11-10 01:11:24 +0100
commitd1df522fd95bd1ca9b1459b5248ee67f26b7f12d (patch)
tree0d086ea120883d4cff5b4a87dbdd2d8f38c79505 /src/mod_mam.erl
parentmod_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.erl9
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;