diff options
author | Kim Alvefur <zash@zash.se> | 2018-03-12 21:47:39 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-03-12 21:47:39 +0100 |
commit | 8cb68bfe7edf8f4aadd47a4747a819b44b1523d6 (patch) | |
tree | cfb380da87aa848f7d1f94ad147490790aba97f7 /plugins | |
parent | d99a87a40c88cf1d5df4efee2a6deb8692562b55 (diff) | |
download | prosody-8cb68bfe7edf8f4aadd47a4747a819b44b1523d6.tar.gz prosody-8cb68bfe7edf8f4aadd47a4747a819b44b1523d6.zip |
MUC: Produce an untracked, locked room on failure to read room from storage (#1091)
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/muc/mod_muc.lua | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/muc/mod_muc.lua b/plugins/muc/mod_muc.lua index 83ed4900..bd739315 100644 --- a/plugins/muc/mod_muc.lua +++ b/plugins/muc/mod_muc.lua @@ -148,13 +148,17 @@ end local function restore_room(jid) local node = jid_split(jid); - local data = room_configs:get(node); + local data, err = room_configs:get(node); local state = room_state:get(node); if data then module:log("debug", "Restoring room %s from storage", jid); local room = muclib.restore_room(data, state); track_room(room); return room; + elseif err then + module:log("error", "Error restoring room %s from storage: %s", jid, err); + local room = muclib.new_room(jid, { locked = math.huge }); + return room; end end |