# HG changeset patch # User Jonas Schäfer # Date 1642257629 -3600 # Node ID 82c8e855c85067f2145db38ad3e582fbf579866c # Parent 0fee75871f78672c56b03de4fd8e8b7913727ce0 mod_storage_xep0227: treat roster metadata pseudo-entry correctly The roster version is stored in a pseudo-item which has the key `false`. The if condition in the touched code attempts to guard against this, but it does not take into account that the jid prepping returns nil instead of false. By moving the jid prepping into the if, we can check for the metadata entry safely. diff -r 0fee75871f78 -r 82c8e855c850 plugins/mod_storage_xep0227.lua --- a/plugins/mod_storage_xep0227.lua Sat Jan 15 15:39:13 2022 +0100 +++ b/plugins/mod_storage_xep0227.lua Sat Jan 15 15:40:29 2022 +0100 @@ -250,8 +250,8 @@ local roster = st.stanza("query", {xmlns='jabber:iq:roster'}); usere:add_child(roster); for contact_jid, item in pairs(data) do - contact_jid = jid_bare(jid_prep(contact_jid)); if contact_jid ~= false then + contact_jid = jid_bare(jid_prep(contact_jid)); if contact_jid ~= user_jid then -- Skip self-contacts roster:tag("item", { jid = contact_jid,