aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--webclient/client.html50
1 files changed, 28 insertions, 22 deletions
diff --git a/webclient/client.html b/webclient/client.html
index 53a06bf..e0ca627 100644
--- a/webclient/client.html
+++ b/webclient/client.html
@@ -16,6 +16,10 @@ var uniqid=(function(){
};
})();
+function now(){
+ return new Date().getTime();
+}
+
var net_callbacks={};
function net_send(msg,cb){
@@ -105,7 +109,7 @@ function reconnect(){
updateRoomList();
} else if(type=="join"){
var r=spl.word[2],u=spl.word[3];
- addRoomEntry(r,"notice",["User '"+u+"' joined this room"]);
+ addRoomEntry(r,"notice",[now(),"User '"+u+"' joined this room"]);
} else {
alert("Unknown push message type '"+type+"'!");
}
@@ -142,7 +146,7 @@ function reconnect(){
function fetchRoomList(){
net_send("list_rooms",function(list,err){
if(err){
- addRoomEntry(":console","error",["Unable to fetch room list: "+err]);
+ addRoomEntry(":console","error",[now(),"Unable to fetch room list: "+err]);
} else {
var roomid;
for(roomid in roomlogs.keys()){
@@ -163,7 +167,7 @@ function fetchRoomList(){
function fetchRoomHistory(roomid){
net_send("history "+roomid+" 10",function(list,err){
if(err){
- addRoomEntry(roomid,"error",["Unable to fetch history: "+err]);
+ addRoomEntry(roomid,"error",[now(),"Unable to fetch history: "+err]);
} else {
var i;
for(i=0;i<list.length;i++){
@@ -238,7 +242,7 @@ function drawRoomEntry(type,args){
var td0=document.createElement("td");
var td1=document.createElement("td");
var td2=document.createElement("td");
- var node0=document.createTextNode(formatTime(new Date()));
+ var node0=document.createTextNode("");
var node1=document.createTextNode("");
var node2=document.createTextNode("");
td0.appendChild(node0);
@@ -258,14 +262,16 @@ function drawRoomEntry(type,args){
case "error":
tr.classList.add("error");
+ node0.nodeValue=formatTime(new Date(args[0]));
node1.nodeValue="--";
- node2.nodeValue=args[0];
+ node2.nodeValue=args[1];
break;
case "notice":
tr.classList.add("notice");
+ node0.nodeValue=formatTime(new Date(args[0]));
node1.nodeValue="--";
- node2.nodeValue=args[0];
+ node2.nodeValue=args[1];
break;
default:
@@ -295,18 +301,18 @@ function executeCommand(roomid,text){
case "register":
case "login":
if(spl.word.length<3){
- addRoomEntry(roomid,"error",["Usage: /"+cmd+" <username> <password>"]);
+ addRoomEntry(roomid,"error",[now(),"Usage: /"+cmd+" <username> <password>"]);
break;
}
creds=[spl.word[1],spl.rest[2]];
net_send(cmd+" "+creds[0]+" "+creds[1],function(ok,err){
if(err){
- addRoomEntry(roomid,"error",["Unable to "+cmd+": "+err]);
+ addRoomEntry(roomid,"error",[now(),"Unable to "+cmd+": "+err]);
} else if(cmd=="register"){
- addRoomEntry(roomid,"notice",["Successfully registered user '"+creds[0]+"'"]);
+ addRoomEntry(roomid,"notice",[now(),"Successfully registered user '"+creds[0]+"'"]);
} else {
username=creds[0];
- addRoomEntry(roomid,"notice",["Logged in as user '"+creds[0]+"'"]);
+ addRoomEntry(roomid,"notice",[now(),"Logged in as user '"+creds[0]+"'"]);
updateStatus();
fetchRoomList();
}
@@ -315,18 +321,18 @@ function executeCommand(roomid,text){
case "createroom":
if(spl.word.length!=1){
- addRoomEntry(roomid,"error",["Usage: /createroom"]);
+ addRoomEntry(roomid,"error",[now(),"Usage: /createroom"]);
break;
}
if(!username){
- addRoomEntry(roomid,"error",["createroom: not logged in"]);
+ addRoomEntry(roomid,"error",[now(),"createroom: not logged in"]);
break;
}
net_send("create_room",function(name,err){
if(err){
- addRoomEntry(roomid,"error",["Unable to create a room: "+err]);
+ addRoomEntry(roomid,"error",[now(),"Unable to create a room: "+err]);
} else {
- addRoomEntry(roomid,"notice",["Successfully created room '"+name+"'"]);
+ addRoomEntry(roomid,"notice",[now(),"Successfully created room '"+name+"'"]);
fetchRoomList();
}
});
@@ -334,36 +340,36 @@ function executeCommand(roomid,text){
case "invite":
if(spl.word.length<2){
- addRoomEntry(roomid,"error",["Usage: /invite <username> (adds to current room)"]);
+ addRoomEntry(roomid,"error",[now(),"Usage: /invite <username> (adds to current room)"]);
break;
}
if(!username){
- addRoomEntry(roomid,"error",["invite: not logged in"]);
+ addRoomEntry(roomid,"error",[now(),"invite: not logged in"]);
break;
}
if(!currentroom||currentroom[0]==":"){
- addRoomEntry(roomid,"error",["invite: cannot invite into room '"+currentroom+"'"]);
+ addRoomEntry(roomid,"error",[now(),"invite: cannot invite into room '"+currentroom+"'"]);
break;
}
othername=spl.rest[1];
net_send("invite "+currentroom+" "+othername,function(ok,err){
if(err){
- addRoomEntry(roomid,"error",["Unable to invite '"+othername+"': "+err]);
+ addRoomEntry(roomid,"error",[now(),"Unable to invite '"+othername+"': "+err]);
} else {
- addRoomEntry(roomid,"notice",["Successfully invited '"+othername+"'"]);
+ addRoomEntry(roomid,"notice",[now(),"Successfully invited '"+othername+"'"]);
}
});
break;
default:
- addRoomEntry(roomid,"error",["Unknown command '"+cmd+"'"]);
+ addRoomEntry(roomid,"error",[now(),"Unknown command '"+cmd+"'"]);
break;
}
}
function sendMessage(roomid,text){
if(roomid[0]==":"){
- addRoomEntry(roomid,"error",["Cannot send a message here"]);
+ addRoomEntry(roomid,"error",[now(),"Cannot send a message here"]);
return;
}
var sentAs=username,msg=text.replace(/\n/g,"");
@@ -372,7 +378,7 @@ function sendMessage(roomid,text){
addRoomEntry(roomid,"message",[sentAs,new Date().getTime(),msg]);
return;
}
- addRoomEntry(roomid,"error",["Unable to send message: "+err]);
+ addRoomEntry(roomid,"error",[now(),"Unable to send message: "+err]);
});
}