Synchronize user list correctly on reconnection

This commit is contained in:
Pavel Djundik 2019-10-15 20:33:03 +03:00
parent e66f47904e
commit 7687c90edc

View File

@ -163,7 +163,16 @@ function mergeChannelData(oldChannels, newChannels) {
// Server sends an empty users array, client requests it whenever needed // Server sends an empty users array, client requests it whenever needed
if (key === "users") { if (key === "users") {
if (channel.type === "channel") { if (channel.type === "channel") {
channel.usersOutdated = true; if (vueApp.activeChannel && vueApp.activeChannel.channel === currentChannel) {
// For currently open channel, request the user list straight away
socket.emit("names", {
target: channel.id,
});
} else {
// For all other channels, mark the user list as outdated
// so an update will be requested whenever user switches to these channels
currentChannel.usersOutdated = true;
}
} }
continue; continue;