aboutsummaryrefslogtreecommitdiff
path: root/src/prosody2ejabberd.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-05-21 23:21:13 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-05-21 23:21:13 +0300
commitd88e4d495ffc2ae950f77e440aa7c5d06c864309 (patch)
tree6e032ad05ee9f78e164bb73219cc9d2d8b628f96 /src/prosody2ejabberd.erl
parentImprove mod_metrics (diff)
Don't store messages via a single process
Diffstat (limited to 'src/prosody2ejabberd.erl')
-rw-r--r--src/prosody2ejabberd.erl19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/prosody2ejabberd.erl b/src/prosody2ejabberd.erl
index 072da0908..312a177be 100644
--- a/src/prosody2ejabberd.erl
+++ b/src/prosody2ejabberd.erl
@@ -185,15 +185,16 @@ convert_data(_Host, "config", _User, [Data]) ->
convert_data(Host, "offline", User, [Data]) ->
LUser = jid:nodeprep(User),
LServer = jid:nameprep(Host),
- Msgs = lists:flatmap(
- fun({_, RawXML}) ->
- case deserialize(RawXML) of
- [El] -> el_to_offline_msg(LUser, LServer, El);
- _ -> []
- end
- end, Data),
- mod_offline:store_offline_msg(
- LServer, {LUser, LServer}, Msgs, length(Msgs), infinity);
+ lists:foreach(
+ fun({_, RawXML}) ->
+ case deserialize(RawXML) of
+ [El] ->
+ Msg = el_to_offline_msg(LUser, LServer, El),
+ ok = mod_offline:store_offline_msg(Msg);
+ _ ->
+ ok
+ end
+ end, Data);
convert_data(Host, "privacy", User, [Data]) ->
LUser = jid:nodeprep(User),
LServer = jid:nameprep(Host),