From 22f5f4ea269dcba826329c020a7a078c9ab8bd15 Mon Sep 17 00:00:00 2001 From: Matthias Kronberg Date: Thu, 30 Jan 2025 22:33:44 +0100 Subject: [PATCH] fix: don't show reply button on inline whispers or announcements (#5863) --- CHANGELOG.md | 1 + src/messages/MessageBuilder.cpp | 35 ++++++++++--------- .../IrcMessageHandler/announcement.json | 13 ------- 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5c6921d..2163c1a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - Bugfix: Fixed tabs not scaling to the default scale when changing the scale from a non-default value. (#5794, #5833) - Bugfix: Fixed deleted messages not immediately disappearing when "Hide deleted messages" is enabled. (#5844, #5854) - Bugfix: Fixed announcements not showing up in mentions tab. (#5857) +- Bugfix: Fixed the reply button showing for inline whispers and announcements. (#5863) - Bugfix: Fixed suspicious user treatment update messages not being searchable. (#5865) - Dev: Highlight checks now use non-capturing groups for the boundaries. (#5784) - Dev: Updated Conan dependencies. (#5776) diff --git a/src/messages/MessageBuilder.cpp b/src/messages/MessageBuilder.cpp index e471102e..df53ef1a 100644 --- a/src/messages/MessageBuilder.cpp +++ b/src/messages/MessageBuilder.cpp @@ -2258,23 +2258,26 @@ std::pair MessageBuilder::makeIrcMessage( ColorProvider::instance().color(ColorType::Whisper); } - if (thread) + if (!args.isReceivedWhisper && tags.value("msg-id") != "announcement") { - auto &img = getResources().buttons.replyThreadDark; - builder - .emplace(Image::fromResourcePixmap(img, 0.15), - 2, Qt::gray, - MessageElementFlag::ReplyButton) - ->setLink({Link::ViewThread, thread->rootId()}); - } - else - { - auto &img = getResources().buttons.replyDark; - builder - .emplace(Image::fromResourcePixmap(img, 0.15), - 2, Qt::gray, - MessageElementFlag::ReplyButton) - ->setLink({Link::ReplyToMessage, builder->id}); + if (thread) + { + auto &img = getResources().buttons.replyThreadDark; + builder + .emplace( + Image::fromResourcePixmap(img, 0.15), 2, Qt::gray, + MessageElementFlag::ReplyButton) + ->setLink({Link::ViewThread, thread->rootId()}); + } + else + { + auto &img = getResources().buttons.replyDark; + builder + .emplace( + Image::fromResourcePixmap(img, 0.15), 2, Qt::gray, + MessageElementFlag::ReplyButton) + ->setLink({Link::ReplyToMessage, builder->id}); + } } return {builder.release(), highlight}; diff --git a/tests/snapshots/IrcMessageHandler/announcement.json b/tests/snapshots/IrcMessageHandler/announcement.json index aa77214f..1791d3d1 100644 --- a/tests/snapshots/IrcMessageHandler/announcement.json +++ b/tests/snapshots/IrcMessageHandler/announcement.json @@ -136,19 +136,6 @@ "test", "lol" ] - }, - { - "background": "#ffa0a0a4", - "flags": "ReplyButton", - "link": { - "type": "ReplyToMessage", - "value": "8c26e1ab-b50c-4d9d-bc11-3fd57a941d90" - }, - "padding": 2, - "tooltip": "", - "trailingSpace": true, - "type": "CircularImageElement", - "url": "" } ], "flags": "Highlighted|Collapsed|Subscription",