aboutsummaryrefslogtreecommitdiff
path: root/src/mod_mam.erl
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2017-11-14 22:36:46 +0100
committerHolger Weiss <holger@zedat.fu-berlin.de>2017-11-14 22:36:46 +0100
commit5ae23a73019cee2ab096a1284c0ce5f0ebd6f8d9 (patch)
tree872656c39278fd5b5024b1679113d2b4cc016aee /src/mod_mam.erl
parentmod_mam: Don't store from 'sm_receive_packet' hook (diff)
mod_mam: Apply minor cosmetic changes
Diffstat (limited to 'src/mod_mam.erl')
-rw-r--r--src/mod_mam.erl38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/mod_mam.erl b/src/mod_mam.erl
index 24803f9e1..65217817f 100644
--- a/src/mod_mam.erl
+++ b/src/mod_mam.erl
@@ -321,7 +321,7 @@ user_send_packet(Acc) ->
-> {stanza(), c2s_state()}.
user_send_packet_strip_tag({#message{} = Pkt, #{jid := JID} = C2SState}) ->
LServer = JID#jid.lserver,
- {strip_my_archived_tag(Pkt, LServer), C2SState};
+ {strip_my_stanza_id(Pkt, LServer), C2SState};
user_send_packet_strip_tag(Acc) ->
Acc.
@@ -347,17 +347,17 @@ muc_filter_message(#message{from = From} = Pkt,
#state{config = Config, jid = RoomJID} = MUCState,
FromNick) ->
LServer = RoomJID#jid.lserver,
- NewPkt = init_stanza_id(Pkt, LServer),
+ Pkt1 = init_stanza_id(Pkt, LServer),
if Config#config.mam ->
- StorePkt = strip_x_jid_tags(NewPkt),
+ StorePkt = strip_x_jid_tags(Pkt1),
case store_muc(MUCState, StorePkt, RoomJID, From, FromNick) of
ok ->
- mark_stored_msg(NewPkt, RoomJID);
+ mark_stored_msg(Pkt1, RoomJID);
_ ->
- NewPkt
+ Pkt1
end;
true ->
- NewPkt
+ Pkt1
end;
muc_filter_message(Acc, _MUCState, _FromNick) ->
Acc.
@@ -369,7 +369,7 @@ get_stanza_id(#message{meta = #{stanza_id := ID}}) ->
-spec init_stanza_id(stanza(), binary()) -> stanza().
init_stanza_id(Pkt, LServer) ->
ID = p1_time_compat:system_time(micro_seconds),
- Pkt1 = strip_my_archived_tag(Pkt, LServer),
+ Pkt1 = strip_my_stanza_id(Pkt, LServer),
xmpp:put_meta(Pkt1, stanza_id, ID).
set_stanza_id(Pkt, JID, ID) ->
@@ -464,7 +464,7 @@ message_is_archived(false, #{jid := JID}, Pkt) ->
Peer = xmpp:get_from(Pkt),
case gen_mod:get_module_opt(LServer, ?MODULE, assume_mam_usage, false) of
true ->
- should_archive(strip_my_archived_tag(Pkt, LServer), LServer)
+ should_archive(strip_my_stanza_id(Pkt, LServer), LServer)
andalso should_archive_peer(LUser, LServer,
get_prefs(LUser, LServer),
Peer);
@@ -601,8 +601,8 @@ should_archive(#message{body = Body, subject = Subject,
should_archive(_, _LServer) ->
false.
--spec strip_my_archived_tag(stanza(), binary()) -> stanza().
-strip_my_archived_tag(Pkt, LServer) ->
+-spec strip_my_stanza_id(stanza(), binary()) -> stanza().
+strip_my_stanza_id(Pkt, LServer) ->
Els = xmpp:get_els(Pkt),
NewEls = lists:filter(
fun(El) ->
@@ -720,7 +720,6 @@ check_store_hint(Pkt) ->
end
end.
-
-spec has_store_hint(message()) -> boolean().
has_store_hint(Message) ->
xmpp:has_subtag(Message, #hint{type = 'store'}).
@@ -755,15 +754,15 @@ store_msg(Pkt, LUser, LServer, Peer, Dir) ->
Prefs = get_prefs(LUser, LServer),
case should_archive_peer(LUser, LServer, Prefs, Peer) of
true ->
- US = {LUser, LServer},
case ejabberd_hooks:run_fold(store_mam_message, LServer, Pkt,
[LUser, LServer, Peer, chat, Dir]) of
drop ->
pass;
- NewPkt ->
+ Pkt1 ->
+ US = {LUser, LServer},
+ ID = get_stanza_id(Pkt1),
+ El = xmpp:encode(Pkt1),
Mod = gen_mod:db_mod(LServer, ?MODULE),
- ID = get_stanza_id(NewPkt),
- El = xmpp:encode(NewPkt),
Mod:store(El, LServer, US, chat, Peer, <<"">>, Dir, ID)
end;
false ->
@@ -779,11 +778,12 @@ store_muc(MUCState, Pkt, RoomJID, Peer, Nick) ->
[U, S, Peer, groupchat, recv]) of
drop ->
pass;
- NewPkt ->
+ Pkt1 ->
+ US = {U, S},
+ ID = get_stanza_id(Pkt1),
+ El = xmpp:encode(Pkt1),
Mod = gen_mod:db_mod(LServer, ?MODULE),
- ID = get_stanza_id(NewPkt),
- El = xmpp:encode(NewPkt),
- Mod:store(El, LServer, {U, S}, groupchat, Peer, Nick, recv, ID)
+ Mod:store(El, LServer, US, groupchat, Peer, Nick, recv, ID)
end;
false ->
pass