Enforce lobby to be the first 0th channel when sorting

This commit is contained in:
Pavel Djundik 2018-08-30 20:16:26 +03:00
parent b3fcea866c
commit 0519c8a857

View file

@ -452,7 +452,17 @@ Client.prototype.sort = function(data) {
return;
}
network.channels.sort((a, b) => order.indexOf(a.id) - order.indexOf(b.id));
network.channels.sort((a, b) => {
// Always sort lobby to the top regardless of what the client has sent
// Because there's a lot of code that presumes channels[0] is the lobby
if (a.type === Chan.Type.LOBBY) {
return -1;
} else if (b.type === Chan.Type.LOBBY) {
return 1;
}
return order.indexOf(a.id) - order.indexOf(b.id);
});
// Sync order to connected clients
this.emit("sync_sort", {