Mercurial > prosody-modules
changeset 3543:11629f04ddd0
mod_bookmarks: Check for item-not-found and return empty Private XML. Fixes #1265 (thanks gerald and thebigfrog!)
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Tue, 02 Apr 2019 16:22:40 +0200 |
parents | 1bb2a90398d3 |
children | 7893115bf382 |
files | mod_bookmarks/mod_bookmarks.lua |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_bookmarks/mod_bookmarks.lua Tue Apr 02 16:27:14 2019 +0200 +++ b/mod_bookmarks/mod_bookmarks.lua Tue Apr 02 16:22:40 2019 +0200 @@ -32,8 +32,13 @@ local service = mod_pep.get_pep_service(username); local ok, id, item = service:get_last_item("storage:bookmarks", session.full_jid); if not ok then - module:log("error", "Failed to retrieve PEP bookmarks of %s: %s", jid, id); - session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to retrive bookmarks from PEP")); + if id == "item-not-found" then + module:log("debug", "Got no PEP bookmarks item for %s, returning empty private bookmarks", jid); + session.send(st.reply(stanza):add_child(query)); + else + module:log("error", "Failed to retrieve PEP bookmarks of %s: %s", jid, id); + session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to retrive bookmarks from PEP")); + end return; end if not id or not item then