aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2021-07-21 23:35:08 +0200
committerKim Alvefur <zash@zash.se>2021-07-21 23:35:08 +0200
commit811613425828e4f4d89f6297886143663bce721c (patch)
tree82a2c00b182a5cb6d8ef60e48638f27a727c1c8c
parent3756e3c8350e942e5765df06dc24be712d2e3d7a (diff)
downloadprosody-811613425828e4f4d89f6297886143663bce721c.tar.gz
prosody-811613425828e4f4d89f6297886143663bce721c.zip
mod_pubsub: Explicitly enable persistence by default to preserve behavior
Since nodes were always persistent according to the XEP-0060 definition. Whether data is stored in memory or on disk was not what this setting was meant for.
-rw-r--r--plugins/mod_pubsub/mod_pubsub.lua3
-rw-r--r--spec/scansion/pubsub_multi_items.scs2
-rw-r--r--util/pubsub.lua2
3 files changed, 5 insertions, 2 deletions
diff --git a/plugins/mod_pubsub/mod_pubsub.lua b/plugins/mod_pubsub/mod_pubsub.lua
index d823657a..331364d5 100644
--- a/plugins/mod_pubsub/mod_pubsub.lua
+++ b/plugins/mod_pubsub/mod_pubsub.lua
@@ -203,6 +203,9 @@ function module.load()
autocreate_on_subscribe = autocreate_on_subscribe;
expose_publisher = expose_publisher;
+ node_defaults = {
+ ["persist_items"] = true;
+ };
nodestore = node_store;
itemstore = create_simple_itemstore;
broadcaster = simple_broadcast;
diff --git a/spec/scansion/pubsub_multi_items.scs b/spec/scansion/pubsub_multi_items.scs
index 247731f1..331093ca 100644
--- a/spec/scansion/pubsub_multi_items.scs
+++ b/spec/scansion/pubsub_multi_items.scs
@@ -47,7 +47,7 @@ Alice receives:
<value>20</value>
</field>
<field var="pubsub#persist_items" label="Persist items to storage" type="boolean">
- <value>0</value>
+ <value>1</value>
</field>
<field var="pubsub#access_model" label="Specify the subscriber model" type="list-single">
<option label="authorize">
diff --git a/util/pubsub.lua b/util/pubsub.lua
index 54b3ec4a..c60da9e7 100644
--- a/util/pubsub.lua
+++ b/util/pubsub.lua
@@ -132,7 +132,7 @@ local default_config = {
local default_config_mt = { __index = default_config };
local default_node_config = {
- ["persist_items"] = false;
+ ["persist_items"] = true;
["max_items"] = 20;
["access_model"] = "open";
["publish_model"] = "publishers";