From dfed446a5adcb06b2e3af2181e57d17384cbbfaa Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Thu, 22 Jul 2021 19:53:21 +0200 Subject: util.pubsub: Signal that 'persistent-items' is unsupported when disabled XEP-0060 says that this the way to indicate that 'persistent-items' is unsupported, but doesn't explicitly say if it being disabled in the node configuration also counts as unsupported. --- util/pubsub.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'util') diff --git a/util/pubsub.lua b/util/pubsub.lua index 4b16dcfc..ae1d6353 100644 --- a/util/pubsub.lua +++ b/util/pubsub.lua @@ -652,13 +652,14 @@ function service:get_items(node, actor, ids) --> (true, { id, [id] = node }) or if not node_obj then return false, "item-not-found"; end + if not self.data[node] then + -- Disabled rather than unsupported, but close enough. + return false, "persistent-items-unsupported"; + end if type(ids) == "string" then -- COMPAT see #1305 ids = { ids }; end local data = {}; - if not self.data[node] then - return true, data; - end if ids then for _, key in ipairs(ids) do local value = self.data[node]:get(key); -- cgit v1.2.3