mirror of https://github.com/calzoneman/sync.git
Gracefully allow script authors time to update their code
This commit is contained in:
parent
df0fc769d9
commit
f89832a6d1
|
@ -418,8 +418,10 @@ Channel.prototype.acceptUser = function (user) {
|
||||||
user.socket.emit("channelNotRegistered");
|
user.socket.emit("channelNotRegistered");
|
||||||
}
|
}
|
||||||
|
|
||||||
user.on('afk', function(){
|
user.on('afk', function(afk){
|
||||||
self.sendUserMeta(self.users, user, -1);
|
self.sendUserMeta(self.users, user, -1);
|
||||||
|
// TODO: Drop legacy setAFK frame after a few months
|
||||||
|
self.broadcastAll("setAFK", { name: user.getName(), afk: afk });
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -507,13 +507,12 @@ Callbacks = {
|
||||||
div.data("leader", Boolean(data.leader));
|
div.data("leader", Boolean(data.leader));
|
||||||
div.data("profile", data.profile);
|
div.data("profile", data.profile);
|
||||||
div.data("meta", data.meta);
|
div.data("meta", data.meta);
|
||||||
div.data("afk", data.meta.afk);
|
|
||||||
if (data.meta.muted || data.meta.smuted) {
|
if (data.meta.muted || data.meta.smuted) {
|
||||||
div.data("icon", "glyphicon-volume-off");
|
div.data("icon", "glyphicon-volume-off");
|
||||||
} else {
|
} else {
|
||||||
div.data("icon", false);
|
div.data("icon", false);
|
||||||
}
|
}
|
||||||
formatUserlistItem(div, data);
|
formatUserlistItem(div);
|
||||||
addUserDropdown(div, data);
|
addUserDropdown(div, data);
|
||||||
div.appendTo($("#userlist"));
|
div.appendTo($("#userlist"));
|
||||||
sortUserlist();
|
sortUserlist();
|
||||||
|
@ -532,11 +531,24 @@ Callbacks = {
|
||||||
user.data("icon", false);
|
user.data("icon", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 2017-06-15
|
||||||
|
* TODO: Remove this and the empty function below
|
||||||
|
* after script authors have had ample time to update
|
||||||
|
*/
|
||||||
|
socket.listeners('setAFK').forEach(function(listener){
|
||||||
|
listener(data.meta.afk);
|
||||||
|
});
|
||||||
|
|
||||||
formatUserlistItem(user, data);
|
formatUserlistItem(user, data);
|
||||||
addUserDropdown(user, data);
|
addUserDropdown(user, data);
|
||||||
sortUserlist();
|
sortUserlist();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
setAFK: function() {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
setUserProfile: function (data) {
|
setUserProfile: function (data) {
|
||||||
var user = findUserlistItem(data.name);
|
var user = findUserlistItem(data.name);
|
||||||
if (user === null)
|
if (user === null)
|
||||||
|
@ -627,16 +639,6 @@ Callbacks = {
|
||||||
formatUserlistItem(user);
|
formatUserlistItem(user);
|
||||||
},
|
},
|
||||||
|
|
||||||
setAFK: function (data) {
|
|
||||||
var user = findUserlistItem(data.name);
|
|
||||||
if(user === null)
|
|
||||||
return;
|
|
||||||
user.data("afk", data.afk);
|
|
||||||
formatUserlistItem(user);
|
|
||||||
if(USEROPTS.sort_afk)
|
|
||||||
sortUserlist();
|
|
||||||
},
|
|
||||||
|
|
||||||
userLeave: function(data) {
|
userLeave: function(data) {
|
||||||
var user = findUserlistItem(data.name);
|
var user = findUserlistItem(data.name);
|
||||||
if(user !== null)
|
if(user !== null)
|
||||||
|
|
|
@ -87,7 +87,6 @@ function formatUserlistItem(div) {
|
||||||
profile: div.data("profile") || { image: "", text: ""},
|
profile: div.data("profile") || { image: "", text: ""},
|
||||||
leader: div.data("leader") || false,
|
leader: div.data("leader") || false,
|
||||||
icon: div.data("icon") || false,
|
icon: div.data("icon") || false,
|
||||||
afk: div.data("afk") || false
|
|
||||||
};
|
};
|
||||||
var name = $(div.children()[1]);
|
var name = $(div.children()[1]);
|
||||||
name.removeClass();
|
name.removeClass();
|
||||||
|
@ -95,7 +94,7 @@ function formatUserlistItem(div) {
|
||||||
name.addClass(getNameColor(data.rank));
|
name.addClass(getNameColor(data.rank));
|
||||||
div.find(".profile-box").remove();
|
div.find(".profile-box").remove();
|
||||||
|
|
||||||
if (data.afk) {
|
if (div.data("meta") && div.data().meta.afk) {
|
||||||
div.addClass("userlist_afk");
|
div.addClass("userlist_afk");
|
||||||
} else {
|
} else {
|
||||||
div.removeClass("userlist_afk");
|
div.removeClass("userlist_afk");
|
||||||
|
@ -173,7 +172,7 @@ function formatUserlistItem(div) {
|
||||||
if(data.leader) {
|
if(data.leader) {
|
||||||
$("<span/>").addClass("glyphicon glyphicon-star-empty").appendTo(icon);
|
$("<span/>").addClass("glyphicon glyphicon-star-empty").appendTo(icon);
|
||||||
}
|
}
|
||||||
if(data.afk) {
|
if(div.data().meta.afk) {
|
||||||
name.css("font-style", "italic");
|
name.css("font-style", "italic");
|
||||||
$("<span/>").addClass("glyphicon glyphicon-time").appendTo(icon);
|
$("<span/>").addClass("glyphicon glyphicon-time").appendTo(icon);
|
||||||
}
|
}
|
||||||
|
@ -398,7 +397,7 @@ function calcUserBreakdown() {
|
||||||
|
|
||||||
total++;
|
total++;
|
||||||
|
|
||||||
if($(item).data("afk"))
|
if($(item).data().meta.afk)
|
||||||
breakdown["AFK"]++;
|
breakdown["AFK"]++;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue