diff options
author | Badlop <badlop@process-one.net> | 2021-03-01 22:19:20 +0100 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2021-03-08 16:33:23 +0100 |
commit | 31884f6c9d8686ad2c15b04c8c585e23e37be0c2 (patch) | |
tree | aa48ddbf3c85eec53f048a6ea210046133b10d95 /src/mod_mam.erl | |
parent | Remove support for HiPE, it was experimental and Erlang/OTP 24 removes it (diff) |
Fix remove_mam_for_user_with_peer when removing room archive (#3536)
Diffstat (limited to 'src/mod_mam.erl')
-rw-r--r-- | src/mod_mam.erl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mod_mam.erl b/src/mod_mam.erl index 4641836f..12542bfa 100644 --- a/src/mod_mam.erl +++ b/src/mod_mam.erl @@ -326,7 +326,7 @@ remove_mam_for_user_with_peer(User, Server, Peer) -> LServer = jid:nameprep(Server), try jid:decode(Peer) of Jid -> - Mod = gen_mod:db_mod(LServer, ?MODULE), + Mod = get_module_host(LServer), case Mod:remove_from_archive(LUser, LServer, Jid) of ok -> {ok, <<"MAM archive removed">>}; @@ -339,6 +339,12 @@ remove_mam_for_user_with_peer(User, Server, Peer) -> {error, <<"Invalid peer JID">>} end. +get_module_host(LServer) -> + try gen_mod:db_mod(LServer, ?MODULE) + catch error:{module_not_loaded, ?MODULE, LServer} -> + gen_mod:db_mod(ejabberd_router:host_of_route(LServer), ?MODULE) + end. + -spec get_room_config([muc_roomconfig:property()], mod_muc_room:state(), jid(), binary()) -> [muc_roomconfig:property()]. get_room_config(Fields, RoomState, _From, _Lang) -> |