--- a/net/server_event.lua Tue Apr 19 12:33:58 2016 +0200
+++ b/net/server_event.lua Tue Apr 19 17:30:30 2016 +0200
@@ -521,6 +521,10 @@
elseif interface.eventreadtimeout then
return EV_WRITE, EV_TIMEOUT
end
+ if interface.writebuffer ~= 0 then
+ -- data possibly written from ondrain
+ return EV_WRITE, cfg.WRITE_TIMEOUT
+ end
interface.eventwrite = nil
return -1
elseif byte and (err == "timeout" or err == "wantwrite") then -- want write again
--- a/plugins/muc/muc.lib.lua Tue Apr 19 12:33:58 2016 +0200
+++ b/plugins/muc/muc.lib.lua Tue Apr 19 17:30:30 2016 +0200
@@ -681,6 +681,13 @@
if form.attr.type == "cancel" then origin.send(st.reply(stanza)); return; end
if form.attr.type ~= "submit" then origin.send(st.error_reply(stanza, "cancel", "bad-request", "Not a submitted form")); return; end
+ if form.tags[1] == nil then
+ -- instant room
+ if self.save then self:save(true); end
+ origin.send(st.reply(stanza));
+ return true;
+ end
+
local fields, errors, present = self:get_form_layout(stanza.attr.from):data(form);
if fields.FORM_TYPE ~= "http://jabber.org/protocol/muc#roomconfig" then
origin.send(st.error_reply(stanza, "cancel", "bad-request", "Form is not of type room configuration"));