Some further fixes to the ajax client, as well as maybe fixing the i.d.l. bug manifesting from a poor msg input send.

This commit is contained in:
Griatch 2016-06-01 01:22:10 +02:00
parent f04c82fa17
commit 410d04456c
3 changed files with 7 additions and 7 deletions

View file

@ -274,7 +274,7 @@ class PortalSessionHandler(SessionHandler):
"""
return len(self.get_sessions(include_unloggedin=include_unloggedin))
def session_from_csessid(self, csessid):
def sessions_from_csessid(self, csessid):
"""
Given a session id, retrieve the session (this is primarily
intended to be called by web clients)

View file

@ -96,9 +96,9 @@ class WebClient(resource.Resource):
self.lineSend(csessid, ["ajax_keepalive", [], {}])
# remove timed-out sessions
for csessid in to_remove:
sess = self.sessionhandler.sessions_from_csessid(csessid)
if sess:
sess[0].disconnect()
sessions = self.sessionhandler.sessions_from_csessid(csessid)
for sess in sessions:
sess.disconnect()
self.last_alive.pop(csessid, None)
if not self.last_alive:
# no more ajax clients. Stop the keepalive
@ -198,7 +198,7 @@ class WebClient(resource.Resource):
csessid = request.args.get('csessid')[0]
self.last_alive[csessid] = (time(), False)
sess = self.sessionhandler.session_from_csessid(csessid)
sess = self.sessionhandler.sessions_from_csessid(csessid)
if sess:
sess = sess[0]
cmdarray = json.loads(request.args.get('data')[0])
@ -239,7 +239,7 @@ class WebClient(resource.Resource):
"""
csessid = request.args.get('csessid')[0]
try:
sess = self.sessionhandler.session_from_csessid(csessid)[0]
sess = self.sessionhandler.sessions_from_csessid(csessid)[0]
sess.sessionhandler.disconnect(sess)
except IndexError:
self.client_disconnect(csessid)

View file

@ -375,7 +375,7 @@ An "emitter" object must have a function
else {
// We'd expect to see a keepalive message rather than
// a timeout. Ping the server to see if it's still there.
msg("idle", "input");
msg(["text", ["idle"], {}], "input");
}
if (stop_polling) {