diff --git a/plugins/chat/assets/javascripts/discourse/components/chat-channel-unread-indicator.gjs b/plugins/chat/assets/javascripts/discourse/components/chat-channel-unread-indicator.gjs index 55e331cca17..e1a77fe136d 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat-channel-unread-indicator.gjs +++ b/plugins/chat/assets/javascripts/discourse/components/chat-channel-unread-indicator.gjs @@ -19,7 +19,7 @@ export default class ChatChannelUnreadIndicator extends Component { } get unreadCount() { - if (this.#onlyMentions() && this.#hasChannelMentions()) { + if (this.#hasChannelMentions()) { return this.args.channel.tracking.mentionCount; } return this.args.channel.tracking.unreadCount; @@ -34,13 +34,6 @@ export default class ChatChannelUnreadIndicator extends Component { ); } - get showUnreadCount() { - if (this.#onlyMentions()) { - return this.#hasChannelMentions(); - } - return this.args.channel.isDirectMessageChannel || this.isUrgent; - } - #hasChannelMentions() { return this.args.channel.tracking.mentionCount > 0; } @@ -58,7 +51,7 @@ export default class ChatChannelUnreadIndicator extends Component { }} >
{{#if - this.showUnreadCount + this.isUrgent }}{{this.unreadCount}}{{else}} {{/if}}
{{/if}} diff --git a/plugins/chat/spec/system/message_notifications_mobile_spec.rb b/plugins/chat/spec/system/message_notifications_mobile_spec.rb index 483c2b868f4..d0cd9f2880a 100644 --- a/plugins/chat/spec/system/message_notifications_mobile_spec.rb +++ b/plugins/chat/spec/system/message_notifications_mobile_spec.rb @@ -104,6 +104,26 @@ RSpec.describe "Message notifications - mobile", type: :system, mobile: true do expect(page).to have_css(".chat-header-icon .chat-channel-unread-indicator") expect(channel_index_page).to have_unread_channel(channel_1, count: 1) end + + it "shows correct count when there are multiple messages but only 1 is urgent" do + Jobs.run_immediately! + + visit("/chat/channels") + + create_message( + channel_1, + user: user_1, + text: "Are you busy @#{current_user.username}?", + ) + + 3.times { create_message(channel_1, user: user_1) } + + expect(page).to have_css( + ".chat-header-icon .chat-channel-unread-indicator", + text: "1", + ) + expect(channel_index_page).to have_unread_channel(channel_1, count: 1) + end end end end