diff --git a/doc/guide.tex b/doc/guide.tex index 297fe7e74..e3e18c401 100644 --- a/doc/guide.tex +++ b/doc/guide.tex @@ -3462,10 +3462,10 @@ Options: To specify which nodetree to use. If not defined, the default pubsub nodetree is used. Only one nodetree can be used per host, and is shared by all node plugins. -\titem{\{pep\_sendlast\_offline, false|true\}} \ind{options!pep\_sendlast\_offline} +\titem{\{ignore\_pep\_from\_offline, false|true\}} \ind{options!ignore\_pep\_from\_offline} To specify whether or not we should get last published PEP items from users in our roster which are offline when we connect. Value is true or false. - If not defined, pubsub assumes false so we only get last items of online contacts. + If not defined, pubsub assumes true so we only get last items of online contacts. \titem{\{last\_item\_cache, false|true\}} \ind{options!last\_item\_cache} To specify whether or not pubsub should cache last items. Value is true or false. If not defined, pubsub do not cache last items. On systems with not so many nodes, diff --git a/src/ejabberd.cfg.example b/src/ejabberd.cfg.example index 27111252d..785ad3748 100644 --- a/src/ejabberd.cfg.example +++ b/src/ejabberd.cfg.example @@ -505,7 +505,7 @@ %%{mod_proxy65,[]}, {mod_pubsub, [ {access_createnode, pubsub_createnode}, - {pep_sendlast_offline, false}, + {ignore_pep_from_offline, true}, {last_item_cache, false}, {plugins, ["flat", "pep"]} % pep requires mod_caps ]}, diff --git a/src/mod_pubsub/mod_pubsub.erl b/src/mod_pubsub/mod_pubsub.erl index 1c581e7d0..d58dd7f3e 100644 --- a/src/mod_pubsub/mod_pubsub.erl +++ b/src/mod_pubsub/mod_pubsub.erl @@ -133,7 +133,7 @@ host, access, pep_mapping = [], - pep_sendlast_offline = false, + ignore_pep_from_offline = true, last_item_cache = false, max_items_node = ?MAXITEMS, nodetree = ?STDTREE, @@ -184,7 +184,7 @@ init([ServerHost, Opts]) -> ?DEBUG("pubsub init ~p ~p",[ServerHost,Opts]), Host = gen_mod:get_opt_host(ServerHost, Opts, "pubsub.@HOST@"), Access = gen_mod:get_opt(access_createnode, Opts, all), - PepOffline = gen_mod:get_opt(pep_sendlast_offline, Opts, false), + PepOffline = gen_mod:get_opt(ignore_pep_from_offline, Opts, true), IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue), LastItemCache = gen_mod:get_opt(last_item_cache, Opts, false), MaxItemsNode = gen_mod:get_opt(max_items_node, Opts, ?MAXITEMS), @@ -232,7 +232,7 @@ init([ServerHost, Opts]) -> server_host = ServerHost, access = Access, pep_mapping = PepMapping, - pep_sendlast_offline = PepOffline, + ignore_pep_from_offline = PepOffline, last_item_cache = LastItemCache, max_items_node = MaxItemsNode, nodetree = NodeTree, @@ -500,7 +500,7 @@ send_loop(State) -> %% this is a hack in a sense that PEP should only be based on presence %% and is not able to "store" events of remote users (via s2s) %% this makes that hack only work for local domain by now - if State#state.pep_sendlast_offline -> + if not State#state.ignore_pep_from_offline -> {User, Server, Resource} = LJID, case mod_caps:get_caps({User, Server, Resource}) of nothing -> diff --git a/src/mod_pubsub/mod_pubsub_odbc.erl b/src/mod_pubsub/mod_pubsub_odbc.erl index 37825535f..21d7f5ba7 100644 --- a/src/mod_pubsub/mod_pubsub_odbc.erl +++ b/src/mod_pubsub/mod_pubsub_odbc.erl @@ -133,7 +133,7 @@ host, access, pep_mapping = [], - pep_sendlast_offline = false, + ignore_pep_from_offline = true, last_item_cache = false, max_items_node = ?MAXITEMS, nodetree = ?STDTREE, @@ -184,7 +184,7 @@ init([ServerHost, Opts]) -> ?DEBUG("pubsub init ~p ~p",[ServerHost,Opts]), Host = gen_mod:get_opt_host(ServerHost, Opts, "pubsub.@HOST@"), Access = gen_mod:get_opt(access_createnode, Opts, all), - PepOffline = gen_mod:get_opt(pep_sendlast_offline, Opts, false), + PepOffline = gen_mod:get_opt(ignore_pep_from_offline, Opts, true), IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue), LastItemCache = gen_mod:get_opt(last_item_cache, Opts, false), MaxItemsNode = gen_mod:get_opt(max_items_node, Opts, ?MAXITEMS), @@ -230,7 +230,7 @@ init([ServerHost, Opts]) -> server_host = ServerHost, access = Access, pep_mapping = PepMapping, - pep_sendlast_offline = PepOffline, + ignore_pep_from_offline = PepOffline, last_item_cache = LastItemCache, max_items_node = MaxItemsNode, nodetree = NodeTree, @@ -326,7 +326,7 @@ send_loop(State) -> %% this is a hack in a sense that PEP should only be based on presence %% and is not able to "store" events of remote users (via s2s) %% this makes that hack only work for local domain by now - if State#state.pep_sendlast_offline -> + if not State#state.ignore_pep_from_offline -> {User, Server, Resource} = LJID, case mod_caps:get_caps({User, Server, Resource}) of nothing ->