From ec2ce2818dceaa57acb23e975e17f9785fb8a276 Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Sat, 13 Jun 2020 18:03:16 -0400 Subject: [PATCH] Remove zombie channels from the chat list --- src/app/chat/views/channels_list.nim | 8 ++++++-- src/status/chat.nim | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/chat/views/channels_list.nim b/src/app/chat/views/channels_list.nim index 2c64b9a227..52cff94a56 100644 --- a/src/app/chat/views/channels_list.nim +++ b/src/app/chat/views/channels_list.nim @@ -73,9 +73,13 @@ QtObject: proc upsertChannel(self: ChannelsList, channel: Chat): int = let idx = self.chats.findIndexById(channel.id) - if idx == -1: - result = self.addChatItemToList(channel) + if channel.isActive: + # We only want to add a channel to the list if it is active + # otherwise, we'll end up with zombie channels on the list + result = self.addChatItemToList(channel) + else: + result = -1 else: result = idx diff --git a/src/status/chat.nim b/src/status/chat.nim index 881272cc8d..9f494114a7 100644 --- a/src/status/chat.nim +++ b/src/status/chat.nim @@ -119,7 +119,7 @@ proc leave*(self: ChatModel, chatId: string) = self.filters.del(chatId) self.channels.del(chatId) self.events.emit("channelLeft", ChatIdArg(chatId: chatId)) - self.events.emit("activeChannelChanged", ChatIdArg(chatId: self.getActiveChannel())) + self.events.emit("activeChannelChanged", ChatIdArg(chatId: "")) proc setActiveChannel*(self: ChatModel, chatId: string) =