Fixed a bug that caused the webclient input line to suddenly reset every three minutes. Thanks to use "lusid" for supplying the hint on fixing this one! Also added a more consistent way of parsing the incoming address.

This commit is contained in:
Griatch 2012-04-01 22:52:12 +02:00
parent ca32950d90
commit 4b56d5a3a4
2 changed files with 16 additions and 10 deletions

View file

@ -272,7 +272,10 @@ class ServerSession(Session):
if self.logged_in and hasattr(self, "player") and self.player: if self.logged_in and hasattr(self, "player") and self.player:
symbol = "(#%s)" % self.player.id symbol = "(#%s)" % self.player.id
try: try:
if hasattr(self.address, '__iter__'):
address = ":".join([str(part) for part in self.address]) address = ":".join([str(part) for part in self.address])
else:
address = self.address
except Exception: except Exception:
address = self.address address = self.address
return "%s%s@%s" % (self.uname, symbol, address) return "%s%s@%s" % (self.uname, symbol, address)

View file

@ -105,8 +105,9 @@ function webclient_receive(){
}); });
}; };
function webclient_input(arg){ function webclient_input(arg, no_update){
// Send an input from the player to the server // Send an input from the player to the server
// no_update is used for sending idle messages behind the scenes.
var outmsg = typeof(arg) != 'undefined' ? arg : $("#inputfield").val(); var outmsg = typeof(arg) != 'undefined' ? arg : $("#inputfield").val();
@ -122,9 +123,11 @@ function webclient_input(arg){
success: function(data){ success: function(data){
//if (outmsg.length > 0 ) msg_display("inp", outmsg) // echo input on command line //if (outmsg.length > 0 ) msg_display("inp", outmsg) // echo input on command line
if (no_update == undefined) {
history_add(outmsg); history_add(outmsg);
HISTORY_POS = 0; HISTORY_POS = 0;
$('#inputform')[0].reset(); // clear input field $('#inputform')[0].reset(); // clear input field
}
}, },
error: function(XMLHttpRequest, textStatus, errorThrown){ error: function(XMLHttpRequest, textStatus, errorThrown){
msg_display("err", "Error: Server returned an error or timed out. Try resending or reloading the page."); msg_display("err", "Error: Server returned an error or timed out. Try resending or reloading the page.");
@ -284,7 +287,7 @@ $(document).ready(function(){
}, 500); }, 500);
// set an idle timer to avoid proxy servers to time out on us (every 3 minutes) // set an idle timer to avoid proxy servers to time out on us (every 3 minutes)
setInterval(function() { setInterval(function() {
webclient_input("idle"); webclient_input("idle", true);
}, 60000*3); }, 60000*3);
}); });