From 2b43ff351ab60a484ab57fcac2cda4ceae1db85f Mon Sep 17 00:00:00 2001 From: Nuno Vieira Date: Wed, 5 Nov 2025 16:02:58 +0000 Subject: [PATCH 1/5] Fix jumping to message highlight to be consistent with UIKit --- .../ChatChannel/ChatChannelViewModel.swift | 12 +++++++++--- Sources/StreamChatSwiftUI/ColorPalette.swift | 5 ++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift index f37c6722..8bdaae94 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift @@ -183,7 +183,9 @@ open class ChatChannelViewModel: ObservableObject, MessagesDataSource { } // Clear highlight after animation completes DispatchQueue.main.asyncAfter(deadline: .now() + 0.7) { [weak self] in - self?.highlightedMessageId = nil + withAnimation { + self?.highlightedMessageId = nil + } } self?.messageCachingUtils.jumpToReplyId = nil } else if messageController == nil { @@ -326,7 +328,9 @@ open class ChatChannelViewModel: ObservableObject, MessagesDataSource { } // Clear highlight after animation completes (0.6s delay from StreamChatUI implementation) DispatchQueue.main.asyncAfter(deadline: .now() + 0.7) { [weak self] in - self?.highlightedMessageId = nil + withAnimation { + self?.highlightedMessageId = nil + } } return true } else { @@ -362,7 +366,9 @@ open class ChatChannelViewModel: ObservableObject, MessagesDataSource { } // Clear highlight after animation completes DispatchQueue.main.asyncAfter(deadline: .now() + 0.7) { - self?.highlightedMessageId = nil + withAnimation { + self?.highlightedMessageId = nil + } } } } diff --git a/Sources/StreamChatSwiftUI/ColorPalette.swift b/Sources/StreamChatSwiftUI/ColorPalette.swift index e38841bb..ec71b5ec 100644 --- a/Sources/StreamChatSwiftUI/ColorPalette.swift +++ b/Sources/StreamChatSwiftUI/ColorPalette.swift @@ -59,7 +59,7 @@ public struct ColorPalette { public var highlightedBackground: UIColor = .streamGrayGainsboro public var highlightedAccentBackground: UIColor = .streamAccentBlue public var highlightedAccentBackground1: UIColor = .streamBlueAlice - public var pinnedBackground: UIColor = .streamHighlight + public var pinnedBackground: UIColor = .streamYellowBackground public var messageCellHighlightBackground: UIColor = .streamYellowBackground // MARK: - Borders and shadows @@ -167,8 +167,7 @@ private extension UIColor { static let streamAccentGreen = mode(0x20e070, 0x20e070) static let streamGrayDisabledText = mode(0x72767e, 0x72767e) static let streamInnerBorder = mode(0xdbdde1, 0x272a30) - static let streamHighlight = mode(0xfbf4dd, 0x333024) - static let streamYellowBackground = mode(0xfff2a1, 0x4a3d00) + static let streamYellowBackground = mode(0xfbf4dd, 0x333024) static let streamDisabled = mode(0xb4b7bb, 0x4c525c) // Currently we are not using the correct shadow color from figma's color palette. This is to avoid From 00742f0db4968f91c0901cc5d7681d07a4ece521 Mon Sep 17 00:00:00 2001 From: Nuno Vieira Date: Wed, 5 Nov 2025 16:07:03 +0000 Subject: [PATCH 2/5] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2342e94..3448f84b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). # Upcoming ### ✅ Added -- Add message highlighting on jumping to a quoted message [#1032](https://github.com/GetStream/stream-chat-swiftui/pull/1030) +- Add message highlighting on jumping to a quoted message [#1032](https://github.com/GetStream/stream-chat-swiftui/pull/1032) ### 🐞 Fixed - Fix composer deleting newly entered text after deleting draft text [#1030](https://github.com/GetStream/stream-chat-swiftui/pull/1030) From cfba89a7ee13d07a6d334e2f26bd719ce1d2accb Mon Sep 17 00:00:00 2001 From: Nuno Vieira Date: Wed, 5 Nov 2025 16:08:17 +0000 Subject: [PATCH 3/5] Apply suggestion from @nuno-vieira --- .../StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift index 8bdaae94..76185ec4 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift @@ -326,7 +326,7 @@ open class ChatChannelViewModel: ObservableObject, MessagesDataSource { DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { [weak self] in self?.scrolledId = nil } - // Clear highlight after animation completes (0.6s delay from StreamChatUI implementation) + // Clear highlight after animation completes DispatchQueue.main.asyncAfter(deadline: .now() + 0.7) { [weak self] in withAnimation { self?.highlightedMessageId = nil From f9929ad217289d49f8d9f47c6c42f59e5b81f18a Mon Sep 17 00:00:00 2001 From: Nuno Vieira Date: Wed, 5 Nov 2025 16:34:23 +0000 Subject: [PATCH 4/5] Add feature flag for disable jumping highlight color --- .../ChatChannel/MessageList/MessageContainerView.swift | 4 +++- .../ChatChannel/MessageList/MessageListConfig.swift | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift index 656faf46..cf9324c9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift @@ -287,7 +287,9 @@ public struct MessageContainerView: View { .padding(.top, isLast ? paddingValue : 0) .background( Group { - if let highlightedMessageId = highlightedMessageId, highlightedMessageId == message.messageId { + if utils.messageListConfig.highlightMessageWhenJumping, + let highlightedMessageId = highlightedMessageId, + highlightedMessageId == message.messageId { Color(colors.messageCellHighlightBackground) } else if messageViewModel.isPinned { Color(colors.pinnedBackground) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift index b03d8550..2339728d 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift @@ -26,6 +26,7 @@ public struct MessageListConfig { iPadSplitViewEnabled: Bool = true, scrollingAnchor: UnitPoint = .center, showNewMessagesSeparator: Bool = true, + highlightMessageWhenJumping: Bool = true, handleTabBarVisibility: Bool = true, messageListAlignment: MessageListAlignment = .standard, uniqueReactionsEnabled: Bool = false, @@ -57,6 +58,7 @@ public struct MessageListConfig { self.iPadSplitViewEnabled = iPadSplitViewEnabled self.scrollingAnchor = scrollingAnchor self.showNewMessagesSeparator = showNewMessagesSeparator + self.highlightMessageWhenJumping = highlightMessageWhenJumping self.handleTabBarVisibility = handleTabBarVisibility self.messageListAlignment = messageListAlignment self.uniqueReactionsEnabled = uniqueReactionsEnabled @@ -121,6 +123,11 @@ public struct MessageListConfig { /// A boolean value that determines if download action is shown for file attachments. public let downloadFileAttachmentsEnabled: Bool + + /// Highlights the message background when jumping to a message. + /// + /// By default it is enabled and it uses the color from `ColorPalette.messageCellHighlightBackground`. + public let highlightMessageWhenJumping: Bool } /// Contains information about the message paddings. From d3b09ae171f21719ba2ed4e93c4116622f0895fd Mon Sep 17 00:00:00 2001 From: Stream SDK Bot <60655709+Stream-SDK-Bot@users.noreply.github.com> Date: Wed, 5 Nov 2025 17:37:55 +0100 Subject: [PATCH 5/5] [CI] Snapshots (#1037) Co-authored-by: Stream Bot --- ...messageContainerHighlighted_snapshot.1.png | Bin 28863 -> 28809 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_messageContainerHighlighted_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_messageContainerHighlighted_snapshot.1.png index d7de7e4bbf085e06294c8167e2d165d26a55b9f9..fba36a5453c4a770e9a81236ea196c308826fdbc 100644 GIT binary patch literal 28809 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 literal 28863 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 t*Bf%-fs1