aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_pep.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2021-10-19 18:11:50 +0200
committerKim Alvefur <zash@zash.se>2021-10-19 18:11:50 +0200
commit4b05d0f2402475fea608fd3e48a96364bc6da4f2 (patch)
tree8553f7e8e4b57c64b2599666f87b5e3ca14cc0b7 /plugins/mod_pep.lua
parent3e55057a8574af83e42ec96041283111e34ef7d4 (diff)
downloadprosody-4b05d0f2402475fea608fd3e48a96364bc6da4f2.tar.gz
prosody-4b05d0f2402475fea608fd3e48a96364bc6da4f2.zip
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Default left as 'never' in mod_pubsub to preserve the previous behavior. Unclear if this is desirable, but can always be changed later. In mod_pep this allows turning off the automatic resending of most recent item.
Diffstat (limited to 'plugins/mod_pep.lua')
-rw-r--r--plugins/mod_pep.lua3
1 files changed, 3 insertions, 0 deletions
diff --git a/plugins/mod_pep.lua b/plugins/mod_pep.lua
index 2489655d..93342e09 100644
--- a/plugins/mod_pep.lua
+++ b/plugins/mod_pep.lua
@@ -187,6 +187,7 @@ function get_pep_service(username)
["max_items"] = 1;
["persist_items"] = true;
["access_model"] = "presence";
+ ["send_last_published_item"] = "on_sub_and_presence";
};
autocreate_on_publish = true;
@@ -260,6 +261,8 @@ local function get_caps_hash_from_presence(stanza, current)
end
local function resend_last_item(jid, node, service)
+ local ok, config = service:get_node_config(node, true);
+ if ok and config.send_last_published_item ~= "on_sub_and_presence" then return end
local ok, id, item = service:get_last_item(node, jid);
if not (ok and id) then return; end
service.config.broadcaster("items", node, { [jid] = true }, item);