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 | 0adc77bb0d1e716971ca1d362412a98a7ba819e0 (patch) | |
tree | cfb380da87aa848f7d1f94ad147490790aba97f7 /plugins/muc | |
parent | e3fd2037fc259390a431bf80521f8c7ac1976885 (diff) | |
download | prosody-0adc77bb0d1e716971ca1d362412a98a7ba819e0.tar.gz prosody-0adc77bb0d1e716971ca1d362412a98a7ba819e0.zip |
MUC: Produce an untracked, locked room on failure to read room from storage (#1091)
Diffstat (limited to 'plugins/muc')
-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 |