Skip to content

Comments

v5: Add MediaBadgeDurationFormatter + Attachment Picker Icons#3975

Merged
nuno-vieira merged 2 commits intov5from
add/v5-composer-picker-view
Feb 19, 2026
Merged

v5: Add MediaBadgeDurationFormatter + Attachment Picker Icons#3975
nuno-vieira merged 2 commits intov5from
add/v5-composer-picker-view

Conversation

@nuno-vieira
Copy link
Member

@nuno-vieira nuno-vieira commented Feb 19, 2026

🔗 Issue Links

LLC PR for: GetStream/stream-chat-swiftui#1215

📝 Summary

  • Adds remaining attachment icons.
  • Introduces MediaBadgeDurationFormatter and changes formatting logic according to Figma updated designs

🧪 Manual Testing Notes

N/A

☑️ 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

  • New Features

    • Introduced media badge duration formatting with flexible display options for compact and standard modes
  • UI/Icons

    • Refreshed icon set with improved naming for attachments and media components
    • Added new icons for media picker functionality including camera and selection badges

@nuno-vieira nuno-vieira requested a review from a team as a code owner February 19, 2026 21:37
@coderabbitai
Copy link

coderabbitai bot commented Feb 19, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch add/v5-composer-picker-view

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.

@github-actions
Copy link

1 Message
📖 There seems to be app changes but CHANGELOG wasn't modified.
Please include an entry if the PR includes user-facing changes.
You can find it at CHANGELOG.md.

Generated by 🚫 Danger

Copy link

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
StreamChat.xcodeproj/project.pbxproj (1)

1096-1102: ⚠️ Potential issue | 🔴 Critical

Add MediaBadgeDurationFormatter.swift to the StreamChatCommonUI target.

The test file is correctly added at line 1101, but the source file MediaBadgeDurationFormatter.swift is missing from the StreamChatCommonUI target's references in project.pbxproj. The file exists at Sources/StreamChatCommonUI/Appearance+Formatters/MediaBadgeDurationFormatter.swift but is not listed in the target's configuration. It must be added to the Exceptions for "Sources" folder in "StreamChatCommonUI" target alongside other similar formatter files like AudioPlaybackRateFormatter.swift and MarkdownFormatter.swift.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@StreamChat.xcodeproj/project.pbxproj` around lines 1096 - 1102, The
StreamChatCommonUI target in project.pbxproj is missing an entry for
MediaBadgeDurationFormatter.swift; open the project.pbxproj, find the
StreamChatCommonUI target's "Sources" file list / Exceptions block (the same
area that contains AudioPlaybackRateFormatter.swift and MarkdownFormatter.swift)
and add a reference for
Sources/StreamChatCommonUI/Appearance+Formatters/MediaBadgeDurationFormatter.swift
so the file is included in the StreamChatCommonUI target build phases; ensure
the file reference identifier and filename string match the project's existing
pattern for other formatter sources.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@StreamChat.xcodeproj/project.pbxproj`:
- Around line 1096-1102: The StreamChatCommonUI target in project.pbxproj is
missing an entry for MediaBadgeDurationFormatter.swift; open the
project.pbxproj, find the StreamChatCommonUI target's "Sources" file list /
Exceptions block (the same area that contains AudioPlaybackRateFormatter.swift
and MarkdownFormatter.swift) and add a reference for
Sources/StreamChatCommonUI/Appearance+Formatters/MediaBadgeDurationFormatter.swift
so the file is included in the StreamChatCommonUI target build phases; ensure
the file reference identifier and filename string match the project's existing
pattern for other formatter sources.

@Stream-SDK-Bot
Copy link
Collaborator

StreamChat XCSize

Object Diff (bytes)
MediaBadgeDurationFormatter.o +1297

@github-actions
Copy link

Public Interface

+ open class DefaultMediaBadgeDurationFormatter: MediaBadgeDurationFormatter  
+ 
+   public init()
+   
+ 
+   open func longFormat(_ duration: TimeInterval)-> String
+   open func shortFormat(_ duration: TimeInterval)-> String

+ public protocol MediaBadgeDurationFormatter

- open class DefaultVideoDurationShortFormatter: VideoDurationShortFormatter  
- 
-   public var dateComponentsFormatter: DateComponentsFormatter
-   
- 
-   public init()
-   
- 
-   open func format(_ duration: TimeInterval)-> String?

- public protocol VideoDurationShortFormatter

@Stream-SDK-Bot
Copy link
Collaborator

SDK Size

title v5 branch diff status
StreamChat 6.84 MB 6.84 MB 0 KB 🟢
StreamChatUI 4.49 MB 4.49 MB 0 KB 🟢
StreamChatCommonUI 1.0 MB 1.0 MB +1 KB 🟢

@Stream-SDK-Bot
Copy link
Collaborator

StreamChatCommonUI XCSize

Object Diff (bytes)
MediaBadgeDurationFormatter.o +1337
VideoDurationShortFormatter.o -1093
Appearance+Images.o +768
Appearance.o +156
AudioPlaybackRateFormatter.o +96
Appearance+Formatters.o -56

@sonarqubecloud
Copy link

@nuno-vieira nuno-vieira merged commit eb6314e into v5 Feb 19, 2026
15 checks passed
@nuno-vieira nuno-vieira deleted the add/v5-composer-picker-view branch February 19, 2026 22:52
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