mod_http_xep227: Initialize XEP-0227 XML
mod_storage_xep0227 only writes if there is XML already for a user (it uses
the presence of an existing <user> element as an indicator that an account
exists, although technically this is not something Prosody itself does, so
it's a little weird).
--- a/mod_http_xep227/mod_http_xep227.lua Sat Jan 15 14:06:19 2022 +0000
+++ b/mod_http_xep227/mod_http_xep227.lua Sat Jan 15 14:25:27 2022 +0000
@@ -1,6 +1,7 @@
local it = require "util.iterators";
local http = require "util.http";
local sm = require "core.storagemanager";
+local st = require "util.stanza";
local xml = require "util.xml";
local tokens = module:depends("tokenauth");
@@ -20,7 +21,9 @@
};
local function new_user_xml(username, host)
- local user_xml;
+ local user_xml = st.stanza("server-data", {xmlns='urn:xmpp:pie:0'})
+ :tag("host", { jid = host })
+ :tag("user", { name = username }):reset();
return {
set_user_xml = function (_, store_username, store_host, new_xml)