diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2019-04-29 16:31:37 +0200 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2019-04-29 16:31:37 +0200 |
commit | faf9b20ac00d361584f6fe2d33562d6f3ff70683 (patch) | |
tree | d9c30a4df6c649a6716b75dfa3c3eddf88057e66 | |
parent | Make mod_offline put msg ignored by mam in spool when mam storage is on (diff) |
Return correct value from count_offline_messages with mam storage option
-rw-r--r-- | src/mod_offline.erl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mod_offline.erl b/src/mod_offline.erl index 4bacf1e90..94a64d83a 100644 --- a/src/mod_offline.erl +++ b/src/mod_offline.erl @@ -733,6 +733,8 @@ read_db_messages(LUser, LServer) -> end end, Mod:read_message_headers(LUser, LServer)). +-spec read_mam_messages(binary(), binary(), [#offline_msg{} | {any(), message()}]) -> + [{integer(), message()}]. read_mam_messages(LUser, LServer, ReadMsgs) -> {Timestamp, ExtraMsgs} = lists:foldl( fun({_Node, #message{id = <<"ActivityMarker">>, @@ -984,8 +986,14 @@ webadmin_user_parse_query(Acc, _Action, _User, _Server, count_offline_messages(User, Server) -> LUser = jid:nodeprep(User), LServer = jid:nameprep(Server), - Mod = gen_mod:db_mod(LServer, ?MODULE), - Mod:count_messages(LUser, LServer). + case use_mam_for_user(User, Server) of + true -> + Res = read_db_messages(LUser, LServer), + length(read_mam_messages(LUser, LServer, Res)); + _ -> + Mod = gen_mod:db_mod(LServer, ?MODULE), + Mod:count_messages(LUser, LServer) + end. -spec add_delay_info(message(), binary(), undefined | erlang:timestamp()) -> message(). |