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 /src | |
| 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
Diffstat (limited to 'src')
| -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(). | 
