From d63941797f30d2d114d66a8edb03000e64488bd0 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Sun, 5 Dec 2021 04:07:30 -0500 Subject: [PATCH] mark channels as unread on MESSAGE_CREATE --- src/components/channels.cpp | 3 ++- src/discord/discord.cpp | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/channels.cpp b/src/components/channels.cpp index f61abd2..764fb43 100644 --- a/src/components/channels.cpp +++ b/src/components/channels.cpp @@ -699,10 +699,11 @@ void ChannelList::OnMessageAck(const MessageAckData &data) { } void ChannelList::OnMessageCreate(const Message &msg) { + auto iter = GetIteratorForChannelFromID(msg.ChannelID); + m_model->row_changed(m_model->get_path(iter), iter); // redraw const auto channel = Abaddon::Get().GetDiscordClient().GetChannel(msg.ChannelID); if (!channel.has_value()) return; if (channel->Type != ChannelType::DM && channel->Type != ChannelType::GROUP_DM) return; - auto iter = GetIteratorForChannelFromID(msg.ChannelID); if (iter) (*iter)[m_columns.m_sort] = -msg.ID; } diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp index 34626f3..27d162c 100644 --- a/src/discord/discord.cpp +++ b/src/discord/discord.cpp @@ -1444,6 +1444,9 @@ void DiscordClient::HandleGatewayMessageCreate(const GatewayMessage &msg) { if (data.GuildID.has_value()) AddUserToGuild(data.Author.ID, *data.GuildID); m_last_message_id[data.ChannelID] = data.ID; + const auto iter = m_unread.find(data.ChannelID); + if (iter == m_unread.end()) + m_unread[data.ChannelID] = 0; m_signal_message_create.emit(data); }