aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/mod_bookmarks.lua6
-rw-r--r--spec/scansion/empty_bookmarks.scs27
2 files changed, 32 insertions, 1 deletions
diff --git a/plugins/mod_bookmarks.lua b/plugins/mod_bookmarks.lua
index cd6eae67..d67915f8 100644
--- a/plugins/mod_bookmarks.lua
+++ b/plugins/mod_bookmarks.lua
@@ -87,7 +87,11 @@ local function on_retrieve_legacy_pep(event)
local service = mod_pep.get_pep_service(username);
local ok, ret = service:get_items(namespace, session.full_jid);
if not ok then
- module:log("error", "Failed to retrieve PEP bookmarks of %s: %s", jid, ret);
+ if ret == "item-not-found" then
+ module:log("debug", "Got no PEP bookmarks item for %s, returning empty private bookmarks", jid);
+ else
+ module:log("error", "Failed to retrieve PEP bookmarks of %s: %s", jid, ret);
+ end
session.send(st.error_reply(stanza, "cancel", ret, "Failed to retrieve bookmarks from PEP"));
return true;
end
diff --git a/spec/scansion/empty_bookmarks.scs b/spec/scansion/empty_bookmarks.scs
new file mode 100644
index 00000000..3ea4fe71
--- /dev/null
+++ b/spec/scansion/empty_bookmarks.scs
@@ -0,0 +1,27 @@
+# mod_scansion_record on host 'localhost' recording started 2022-07-26T21:39:55Z
+
+[Client] Romeo
+ password: password
+ jid: juliet@localhost/UaksS4M1xYZB
+
+-----
+
+Romeo connects
+
+Romeo sends:
+ <iq xml:lang='en' type='get' id='bNBJLtpIJXpq'>
+ <pubsub xmlns='http://jabber.org/protocol/pubsub'>
+ <items node='storage:bookmarks'/>
+ </pubsub>
+ </iq>
+
+Romeo receives:
+ <iq id='bNBJLtpIJXpq' type='error'>
+ <error type='cancel'>
+ <item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
+ </error>
+ </iq>
+
+Romeo disconnects
+
+# recording ended on 2022-07-26T21:40:45Z