aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2017-11-15 00:36:07 +0100
committerHolger Weiss <holger@zedat.fu-berlin.de>2017-11-15 00:36:07 +0100
commit75f150f7aead41517187f3d3c8c56841e04e074d (patch)
treeb4e732e7c737634878aa5f4e110d3f63abea034a /src
parentmod_mam: Improve handling of forked messages (diff)
mod_mam: Simplify 'message_is_archived' callback
Diffstat (limited to 'src')
-rw-r--r--src/mod_mam.erl15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/mod_mam.erl b/src/mod_mam.erl
index 6c6a15ca1..48552988d 100644
--- a/src/mod_mam.erl
+++ b/src/mod_mam.erl
@@ -462,15 +462,10 @@ disco_sm_features(Acc, _From, _To, _Node, _Lang) ->
-spec message_is_archived(boolean(), c2s_state(), message()) -> boolean().
message_is_archived(true, _C2SState, _Pkt) ->
true;
-message_is_archived(false, #{jid := JID}, Pkt) ->
- #jid{luser = LUser, lserver = LServer} = JID,
- Peer = xmpp:get_from(Pkt),
+message_is_archived(false, #{lserver := LServer}, Pkt) ->
case gen_mod:get_module_opt(LServer, ?MODULE, assume_mam_usage, false) of
true ->
- should_archive(strip_my_stanza_id(Pkt, LServer), LServer)
- andalso should_archive_peer(LUser, LServer,
- get_prefs(LUser, LServer),
- Peer);
+ is_archived(Pkt, LServer);
false ->
false
end.
@@ -586,7 +581,7 @@ should_archive(#message{meta = #{from_offline := true}}, _LServer) ->
false;
should_archive(#message{body = Body, subject = Subject,
type = Type} = Pkt, LServer) ->
- case is_resent(Pkt, LServer) of
+ case is_archived(Pkt, LServer) of
true ->
false;
false ->
@@ -737,8 +732,8 @@ has_no_store_hint(Message) ->
xmpp:has_subtag(Message, #hint{type = 'no-permanent-store'}) orelse
xmpp:has_subtag(Message, #hint{type = 'no-permanent-storage'}).
--spec is_resent(message(), binary()) -> boolean().
-is_resent(Pkt, LServer) ->
+-spec is_archived(message(), binary()) -> boolean().
+is_archived(Pkt, LServer) ->
case xmpp:get_subtag(Pkt, #stanza_id{by = #jid{}}) of
#stanza_id{by = #jid{lserver = LServer}} ->
true;