mirror of
https://github.com/processone/ejabberd.git
synced 2024-06-02 21:17:12 +02:00
Return correct value from count_offline_messages with mam storage option
This commit is contained in:
parent
17ff62d4af
commit
faf9b20ac0
|
@ -733,6 +733,8 @@ read_db_messages(LUser, LServer) ->
|
||||||
end
|
end
|
||||||
end, Mod:read_message_headers(LUser, LServer)).
|
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) ->
|
read_mam_messages(LUser, LServer, ReadMsgs) ->
|
||||||
{Timestamp, ExtraMsgs} = lists:foldl(
|
{Timestamp, ExtraMsgs} = lists:foldl(
|
||||||
fun({_Node, #message{id = <<"ActivityMarker">>,
|
fun({_Node, #message{id = <<"ActivityMarker">>,
|
||||||
|
@ -984,8 +986,14 @@ webadmin_user_parse_query(Acc, _Action, _User, _Server,
|
||||||
count_offline_messages(User, Server) ->
|
count_offline_messages(User, Server) ->
|
||||||
LUser = jid:nodeprep(User),
|
LUser = jid:nodeprep(User),
|
||||||
LServer = jid:nameprep(Server),
|
LServer = jid:nameprep(Server),
|
||||||
Mod = gen_mod:db_mod(LServer, ?MODULE),
|
case use_mam_for_user(User, Server) of
|
||||||
Mod:count_messages(LUser, LServer).
|
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(),
|
-spec add_delay_info(message(), binary(),
|
||||||
undefined | erlang:timestamp()) -> message().
|
undefined | erlang:timestamp()) -> message().
|
||||||
|
|
Loading…
Reference in New Issue
Block a user