X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_pep_plus.lua;h=f45d5ef3d7772b988bb487d97cf85aabf0703608;hb=9fd7abf8b5ad419803144a4cdb3c553db90d17e3;hp=81dd3085216dea781533f61af6f5795109eadd23;hpb=56b8e3f34c2eb18a289b36049b2afeddd70e4c92;p=prosody.git diff --git a/plugins/mod_pep_plus.lua b/plugins/mod_pep_plus.lua index 81dd3085..f45d5ef3 100644 --- a/plugins/mod_pep_plus.lua +++ b/plugins/mod_pep_plus.lua @@ -55,10 +55,11 @@ local function get_broadcaster(name) end function get_pep_service(name) - if services[name] then - return services[name]; + local service = services[name]; + if service then + return service; end - services[name] = pubsub.new({ + service = pubsub.new({ capabilities = { none = { create = false; @@ -132,6 +133,7 @@ function get_pep_service(name) retract = true; delete = true; get_nodes = true; + configure = true; subscribe = true; unsubscribe = true; @@ -152,6 +154,10 @@ function get_pep_service(name) }; }; + node_defaults = { + ["pubsub#max_items"] = "1"; + }; + autocreate_on_publish = true; autocreate_on_subscribe = true; @@ -166,7 +172,9 @@ function get_pep_service(name) normalize_jid = jid_bare; }); - return services[name]; + services[name] = service; + module:add_item("pep-service", { service = service, jid = name }); + return service; end function handle_pubsub_iq(event)