aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/modulemanager.lua5
-rw-r--r--plugins/muc/muc.lib.lua3
-rwxr-xr-xprosodyctl4
3 files changed, 12 insertions, 0 deletions
diff --git a/core/modulemanager.lua b/core/modulemanager.lua
index 5a45d6b6..456f09f6 100644
--- a/core/modulemanager.lua
+++ b/core/modulemanager.lua
@@ -79,6 +79,11 @@ local function get_modules_for_host(host)
modules:add("admin_telnet");
end
+ if modules:contains("vcard") and modules:contains("vcard_legacy") then
+ log("error", "The mod_vcard_legacy plugin replaces mod_vcard but both are enabled. Please update your config.");
+ modules:remove("vcard");
+ end
+
return modules, component;
end
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index 3a228aae..4b462631 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -549,6 +549,9 @@ function room_mt:handle_normal_presence(origin, stanza)
log("debug", "no occupant found for %s; creating new occupant object for %s", dest_jid, real_jid);
is_first_dest_session = true;
dest_occupant = self:new_occupant(bare_jid, dest_jid);
+ if orig_occupant then
+ dest_occupant.role = orig_occupant.role;
+ end
else
is_first_dest_session = false;
end
diff --git a/prosodyctl b/prosodyctl
index a4724a19..5243c366 100755
--- a/prosodyctl
+++ b/prosodyctl
@@ -972,6 +972,10 @@ function commands.check(arg)
print(" For more information see https://prosody.im/doc/storage");
end
end
+ if all_modules:contains("vcard") and all_modules:contains("vcard_legacy") then
+ print(" Both mod_vcard_legacy and mod_vcard are enabled but they conflict");
+ print(" with each other. Remove one.");
+ end
for host, host_config in pairs(config) do --luacheck: ignore 213/host
if type(rawget(host_config, "storage")) == "string" and rawget(host_config, "default_storage") then
print("");