Software /
code /
prosody
Comparison
util/pubsub.lua @ 11723:3ead0967e04d
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.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 22 Jul 2021 19:53:21 +0200 |
parent | 11721:7a77f0c05382 |
child | 11767:5610f7c5b261 |
comparison
equal
deleted
inserted
replaced
11722:bc2d3f110a39 | 11723:3ead0967e04d |
---|---|
650 -- | 650 -- |
651 local node_obj = self.nodes[node]; | 651 local node_obj = self.nodes[node]; |
652 if not node_obj then | 652 if not node_obj then |
653 return false, "item-not-found"; | 653 return false, "item-not-found"; |
654 end | 654 end |
655 if not self.data[node] then | |
656 -- Disabled rather than unsupported, but close enough. | |
657 return false, "persistent-items-unsupported"; | |
658 end | |
655 if type(ids) == "string" then -- COMPAT see #1305 | 659 if type(ids) == "string" then -- COMPAT see #1305 |
656 ids = { ids }; | 660 ids = { ids }; |
657 end | 661 end |
658 local data = {}; | 662 local data = {}; |
659 if not self.data[node] then | |
660 return true, data; | |
661 end | |
662 if ids then | 663 if ids then |
663 for _, key in ipairs(ids) do | 664 for _, key in ipairs(ids) do |
664 local value = self.data[node]:get(key); | 665 local value = self.data[node]:get(key); |
665 if value then | 666 if value then |
666 data[#data+1] = key; | 667 data[#data+1] = key; |