local is_persistent = persistent.get(room);
persistent_rooms:set(nil, room.jid, is_persistent);
if is_persistent then
- local data = {
- jid = room.jid;
- _data = room._data;
- _affiliations = room._affiliations;
- };
+ local data = room:freeze();
room_configs:set(node, data);
elseif forced then
room_configs:set(node, nil);
if role_rank >= valid_roles.moderator or
( role_rank >= valid_roles.participant and get_changesubject(event.room) ) then -- and participant
set_subject(event.room, occupant.nick, subject:get_text());
+ room:save();
return true;
else
event.origin.send(st.error_reply(stanza, "auth", "forbidden"));