Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### 🐞 Fixed
- Fix show/hide message translation animation [#1426](https://github.com/GetStream/stream-chat-swiftui/pull/1426)

### 🐞 Fixed
- Fix tapping a media attachment in the reactions overlay opening the fullscreen gallery [#1424](https://github.com/GetStream/stream-chat-swiftui/pull/1424)
- Fix empty space around the previewed message in the reactions overlay not dismissing the overlay [#1424](https://github.com/GetStream/stream-chat-swiftui/pull/1424)
- Fix long-pressing a message with attachments occasionally opening the fullscreen gallery [#1424](https://github.com/GetStream/stream-chat-swiftui/pull/1424)
Comment thread
nuno-vieira marked this conversation as resolved.
Outdated

# [5.0.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/5.0.0)
_April 16, 2026_

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,10 @@ struct MessageContainerView<Factory: ViewFactory>: View {
messageViewModel.failureIndicatorShown ? SendFailureIndicator() : nil
)
.frame(maxWidth: contentWidth, alignment: messageViewModel.isRightAligned ? .trailing : .leading)
.highPriorityGesture(
TapGesture().onEnded { /* Swallow taps on the bubble so attachments don't open and the overlay doesn't dismiss. */ },
including: shownAsPreview ? .all : .none
)
}

@ViewBuilder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,12 @@ public struct MessageItemView<Factory: ViewFactory>: View {
}
)
.contentShape(Rectangle())
.allowsHitTesting(!shownAsPreview || (messageViewModel.usesScrollView))
.onTapGesture(count: 2) {
if messageViewModel.isDoubleTapOverlayEnabled {
handleGestureForMessage(showsMessageActions: true)
}
}
.simultaneousGesture(
.highPriorityGesture(
LongPressGesture(minimumDuration: 0.3)
.onEnded { _ in
handleGestureForMessage(showsMessageActions: true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,12 @@ public struct ReactionsOverlayView<Factory: ViewFactory>: View {

GeometryReader { reader in
let height = reader.frame(in: .local).height
Color.clear.preference(key: HeightPreferenceKey.self, value: height)
Color.clear
.preference(key: HeightPreferenceKey.self, value: height)
.contentShape(Rectangle())
.onTapGesture {
dismissReactionsOverlay { /* No additional handling. */ }
}

VStack(alignment: isRightAligned ? .trailing : .leading, spacing: tokens.spacingXs) {
reactionsPickerView(reader: reader)
Expand All @@ -107,6 +112,9 @@ public struct ReactionsOverlayView<Factory: ViewFactory>: View {
.frame(maxHeight: messageDisplayInfo.frame.height)
.scaleEffect(popIn || willPopOut ? 1 : 0.95)
.animation(willPopOut ? .easeInOut : popInAnimation, value: popIn)
.onTapGesture {
dismissReactionsOverlay { /* No additional handling. */ }
}
messageActionsView(reader: reader)
}
.frame(width: overlayContentWidth, alignment: isRightAligned ? .trailing : .leading)
Expand Down
Loading