Skip to content

Fix spacings in message annotations#1403

Merged
laevandus merged 3 commits intodevelopfrom
fix/message-annotations-spacings
Apr 10, 2026
Merged

Fix spacings in message annotations#1403
laevandus merged 3 commits intodevelopfrom
fix/message-annotations-spacings

Conversation

@laevandus
Copy link
Copy Markdown
Contributor

@laevandus laevandus commented Apr 10, 2026

πŸ”— Issue Links

Fixes IOS-1559

🎯 Goal

Fix inconsistent spacings in message annotation views (pinned, reminder, thread reply, translated) and ensure the
reminder annotation renders correctly in snapshot tests.

πŸ“ Summary

  • Fixed vertical spacing between annotations in MessageTopView (spacingXxs β†’ spacingXs)
  • Added scaledToFit() and horizontal padding to annotation icons in MessageAnnotationView
  • Fixed top padding logic in MessageContainerView to use annotationsShown instead of isPinned for reactions
    padding, and added inter-item spacing for grouped messages with annotations
  • Adjusted default reactions top padding from 20 to 19
  • Fixed test_reminderAnnotation_snapshot to enable messageRemindersEnabled in channel config
  • Added snapshot tests for grouped messages with annotations in MessageListView_Tests
  • Added record_snapshots_locally Fastlane lane with suppress_xcode_output

πŸ›  Implementation

The annotation icons had inconsistent sizing because they weren't using scaledToFit(), causing layout issues. The
MessageContainerView was only checking isPinned to decide reactions top padding, but it should check
annotationsShown to handle all annotation types. Grouped messages with annotations also lacked top spacing between
them, fixed by applying groupMessageInterItemSpacing when annotations are shown.

The reminder snapshot test was rendering an empty view because ChannelConfig.mock() defaults
messageRemindersEnabled to false. The fix passes a channel with reminders enabled.

🎨 Showcase

Snapshots re-recorded for all affected annotation views.

πŸ§ͺ Manual Testing Notes

Verify message annotations (pinned, reminder, thread reply, translated) have consistent spacing in the message
list. Check grouped messages where one has an annotation.

β˜‘οΈ Contributor Checklist

  • I have signed the Stream CLA (required)
  • This change should be manually QAed
  • Changelog is updated with client-facing changes
  • Changelog is updated with new localization keys
  • New code is covered by unit tests
  • Documentation has been updated in the docs-content repo

Summary by CodeRabbit

  • Style

    • Improved scaling and horizontal padding of message annotation icons for better visual alignment.
    • Refined padding logic for message containers to better coordinate reactions and annotations in grouped layouts.
    • Tweaked default vertical spacing around reactions and between annotation rows for improved consistency.
  • Tests

    • Added snapshot tests covering grouped messages with annotations and parameterized snapshot sizes for accurate rendering checks.
  • Chores

    • Added a lane to record snapshots locally for development.

@laevandus laevandus requested a review from a team as a code owner April 10, 2026 07:51
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 10, 2026

No actionable comments were generated in the recent review. πŸŽ‰

ℹ️ Recent review info
βš™οΈ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 4c4a9d99-0015-4816-b52b-5067843c80d4

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 779a80e and f401afa.

πŸ“’ Files selected for processing (1)
  • CHANGELOG.md
βœ… Files skipped from review due to trivial changes (1)
  • CHANGELOG.md

πŸ“ Walkthrough

Walkthrough

Layout and spacing for message annotations were adjusted across MessageAnnotationView, MessageContainerView, MessageListConfig, and MessageTopView; snapshot tests were added/updated to use parameterized sizes; a Fastlane lane for local snapshot recording was added and CHANGELOG updated.

Changes

Cohort / File(s) Summary
Annotation Views & Layout
Sources/StreamChatSwiftUI/ChatMessageList/MessageAnnotationView.swift, Sources/StreamChatSwiftUI/ChatMessageList/MessageContainerView.swift, Sources/StreamChatSwiftUI/ChatMessageList/MessageListConfig.swift, Sources/StreamChatSwiftUI/ChatMessageList/MessageTopView.swift
Icon images now use scaledToFit and horizontal padding; top padding for reactions now depends on annotationsShown where applicable; default reactions top padding changed from 20 β†’ 19; vertical spacing between annotation rows uses tokens.spacingXs (was spacingXxs).
Snapshot Tests
StreamChatSwiftUITests/Tests/ChatChannel/MessageListView_Tests.swift, StreamChatSwiftUITests/Tests/ChatChannel/MessageTopView_Tests.swift
Added two snapshot tests for grouped messages with annotations. Updated MessageTopView tests to accept a size: CGSize parameter for rendered views, adjusted channel mocks for reminders/translation, and updated snapshot heights.
CI / Dev Automation
fastlane/Fastfile
Added record_snapshots_locally lane that removes snapshots then runs scan for the StreamChatSwiftUI scheme on an iPhone 17 Pro device.
Changelog
CHANGELOG.md
Added "Fix spacings in message annotations" under Upcoming β†’ Fixed referencing PR #1403.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I nibbled pixels, nudged the gap so small,
Icons snug with padding, rows spacing tall,
Nineteen hops made reactions feel right,
Tests stretch their sizes under moonlight,
Fastlane hums β€” snapshots caught in flight. ✨

πŸš₯ Pre-merge checks | βœ… 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 76.92% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
βœ… Passed checks (2 passed)
Check name Status Explanation
Description Check βœ… Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check βœ… Passed The title 'Fix spacings in message annotations' directly and clearly summarizes the main changeβ€”adjusting vertical/horizontal spacing in annotation-related views (MessageTopView, MessageAnnotationView) and padding logic in MessageContainerView.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/message-annotations-spacings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment thread fastlane/Fastfile
Comment on lines +397 to +398
desc 'Record UI Snapshots locally'
lane :record_snapshots_locally do
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Convenience for me since quite often I just wanna run them all


public static var defaultReactionsTopPadding: (ChatMessage) -> CGFloat {
{ _ in 20 }
{ _ in 19 }
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine tuning to get the same spacing what Figma uses between reactions and annotations

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Icons were updated in StreamChatCommonUI so this got updated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be updated when this one is merged: #1402. I think there might be a conflict, but nothing scary to fix.

@laevandus laevandus enabled auto-merge (squash) April 10, 2026 07:53
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
Sources/StreamChatSwiftUI/ChatMessageList/MessageListConfig.swift (1)

295-297: Consider using a design token instead of a hardcoded value.

The value 19 is a magic number. Per coding guidelines, design values should come from tokens in InjectedValuesExtensions.swift rather than being hardcoded. If no appropriate token exists, this might be an opportunity to define one for reaction padding.

πŸ€– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Sources/StreamChatSwiftUI/ChatMessageList/MessageListConfig.swift` around
lines 295 - 297, The closure defaultReactionsTopPadding in MessageListConfig
uses a hardcoded magic number 19; replace that literal with a design token from
InjectedValuesExtensions (or add a new token there if none exists) and return
that token value (for example reference a new injected value like
injectedValues.reactionTopPadding or similar) so the padding comes from the
shared design system rather than a hardcoded constant.
fastlane/Fastfile (1)

397-410: Consider adding caching options for consistency with other test lanes.

The new lane is missing derived_data_path and cloned_source_packages_path options that are used in the test_ui lane (lines 201-202). This could lead to longer build times and inconsistent behavior when running locally.

πŸ’‘ Suggested improvement
 lane :record_snapshots_locally do
   remove_snapshots

   scan(
     project: xcode_project,
     scheme: 'StreamChatSwiftUI',
     testplan: 'StreamChatSwiftUI',
     configuration: 'Debug',
+    derived_data_path: derived_data_path,
+    cloned_source_packages_path: source_packages_path,
     devices: ['iPhone 17 Pro (26.2)'],
     fail_build: false,
     suppress_xcode_output: true
   )
 end
πŸ€– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@fastlane/Fastfile` around lines 397 - 410, The new Fastlane lane
record_snapshots_locally is missing the derived_data_path and
cloned_source_packages_path scan options used in the test_ui lane; update the
scan(...) call inside record_snapshots_locally to include derived_data_path and
cloned_source_packages_path with the same values/variables used by test_ui so
builds share the same derived data and package cache, reducing build time and
ensuring consistent behavior.
πŸ€– Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@fastlane/Fastfile`:
- Around line 397-410: The new Fastlane lane record_snapshots_locally is missing
the derived_data_path and cloned_source_packages_path scan options used in the
test_ui lane; update the scan(...) call inside record_snapshots_locally to
include derived_data_path and cloned_source_packages_path with the same
values/variables used by test_ui so builds share the same derived data and
package cache, reducing build time and ensuring consistent behavior.

In `@Sources/StreamChatSwiftUI/ChatMessageList/MessageListConfig.swift`:
- Around line 295-297: The closure defaultReactionsTopPadding in
MessageListConfig uses a hardcoded magic number 19; replace that literal with a
design token from InjectedValuesExtensions (or add a new token there if none
exists) and return that token value (for example reference a new injected value
like injectedValues.reactionTopPadding or similar) so the padding comes from the
shared design system rather than a hardcoded constant.

ℹ️ Review info
βš™οΈ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: bf7ededb-e8b4-496a-8455-eebd29054e28

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 2a79a63 and 779a80e.

β›” Files ignored due to path filters (79)
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MediaViewer_Tests/test_mediaViewerHeader_withMessageCreatedToday_snapshot.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MediaViewer_Tests/test_mediaViewerHeader_withMessageExactDate_snapshot.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MediaViewer_Tests/test_mediaViewer_snapshotLoading.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerViewPinned_snapshot.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithPinnedAnnotation_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithPinnedAnnotation_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithPinnedAnnotation_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithPinnedAnnotation_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithReminderAnnotation_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithReminderAnnotation_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithReminderAnnotation_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithReminderAnnotation_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithThreadReplyAnnotation_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithThreadReplyAnnotation_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithThreadReplyAnnotation_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messageContainerView_topReactionsWithThreadReplyAnnotation_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messagePreview_translatedText_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messagePreview_translatedText_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messagePreview_translatedText_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_messagePreview_translatedText_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_portraitImageWithOneReaction_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_portraitImageWithOneReaction_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_translatedText_showOriginalTranslatedButtonDisabled_translatedTextShown_snapshot.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_translatedText_showOriginalTranslatedButtonEnabled_originalTextShown_snapshot.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageItemView_Tests/test_translatedText_showOriginalTranslatedButtonEnabled_translatedTextShown_snapshot.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_messageListView_groupChannel_withReactions.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_messageListView_groupedMessages_withAllAnnotations.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_messageListView_groupedMessages_withThreadReplyAnnotation.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_messageListView_jumpToUnreadButton.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_messageListView_typingIndicator.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_messageListView_viewModelInit_withReactions.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_messageListView_withReactions.1.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotEmptyCount.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotEmptyCount.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotEmptyCount.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotEmptyCount.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotHighUnreadCount.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotHighUnreadCount.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotHighUnreadCount.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotHighUnreadCount.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotUnreadCount.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotUnreadCount.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotUnreadCount.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageListView_Tests/test_scrollToBottomButton_snapshotUnreadCount.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_allAnnotations_inThread_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_allAnnotations_inThread_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_allAnnotations_inThread_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_allAnnotations_inThread_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_allAnnotations_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_allAnnotations_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_allAnnotations_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_allAnnotations_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_pinnedAnnotation_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_pinnedAnnotation_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_pinnedAnnotation_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_pinnedAnnotation_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_pinnedByYouAnnotation_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_pinnedByYouAnnotation_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_pinnedByYouAnnotation_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_pinnedByYouAnnotation_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_reminderAnnotation_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_reminderAnnotation_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_reminderAnnotation_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_reminderAnnotation_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_repliedToThreadAnnotation_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_repliedToThreadAnnotation_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_repliedToThreadAnnotation_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_repliedToThreadAnnotation_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_sentInChannelAnnotation_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_sentInChannelAnnotation_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_sentInChannelAnnotation_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_sentInChannelAnnotation_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_translatedAnnotation_snapshot.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_translatedAnnotation_snapshot.extraExtraExtraLarge-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_translatedAnnotation_snapshot.rightToLeftLayout-default.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageTopView_Tests/test_translatedAnnotation_snapshot.small-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/ReactionsOverlayView_Tests/test_reactionsOverlayView_allAnnotations.default-dark.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/ReactionsOverlayView_Tests/test_reactionsOverlayView_allAnnotations.default-light.png is excluded by !**/*.png
  • StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/ReactionsOverlayView_Tests/test_reactionsOverlayView_translated.1.png is excluded by !**/*.png
πŸ“’ Files selected for processing (7)
  • Sources/StreamChatSwiftUI/ChatMessageList/MessageAnnotationView.swift
  • Sources/StreamChatSwiftUI/ChatMessageList/MessageContainerView.swift
  • Sources/StreamChatSwiftUI/ChatMessageList/MessageListConfig.swift
  • Sources/StreamChatSwiftUI/ChatMessageList/MessageTopView.swift
  • StreamChatSwiftUITests/Tests/ChatChannel/MessageListView_Tests.swift
  • StreamChatSwiftUITests/Tests/ChatChannel/MessageTopView_Tests.swift
  • fastlane/Fastfile

Stream-SDK-Bot and others added 2 commits April 10, 2026 11:47
Co-authored-by: Stream Bot <ci@getstream.io>
Copy link
Copy Markdown
Contributor

@martinmitrevski martinmitrevski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be updated when this one is merged: #1402. I think there might be a conflict, but nothing scary to fix.

@Stream-SDK-Bot
Copy link
Copy Markdown
Collaborator

SDK Size

title develop branch diff status
StreamChatSwiftUI 8.03 MB 8.03 MB 0 KB 🟒

@github-actions
Copy link
Copy Markdown

Public Interface

πŸš€ No changes affecting the public interface.

@Stream-SDK-Bot
Copy link
Copy Markdown
Collaborator

StreamChatSwiftUI XCSize

Object Diff (bytes)
MessageAnnotationView.o +418
MessageContainerView.o -392

@sonarqubecloud
Copy link
Copy Markdown

@laevandus laevandus merged commit ddc0279 into develop Apr 10, 2026
12 checks passed
@laevandus laevandus deleted the fix/message-annotations-spacings branch April 10, 2026 09:39
@Stream-SDK-Bot Stream-SDK-Bot mentioned this pull request Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants