diff options
-rw-r--r-- | core/modulemanager.lua | 5 | ||||
-rw-r--r-- | plugins/muc/muc.lib.lua | 3 | ||||
-rwxr-xr-x | prosodyctl | 4 |
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 @@ -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(""); |