feat(ui): update icon set#2587
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## feat/design-refresh #2587 +/- ##
====================================================
Coverage 65.32% 65.32%
====================================================
Files 429 429
Lines 26133 26133
====================================================
Hits 17071 17071
Misses 9062 9062 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…e/update-icon-set # Conflicts: # melos.yaml # packages/stream_chat_flutter/pubspec.yaml # packages/stream_chat_flutter/test/src/gallery/goldens/ci/gallery_header_0.png # packages/stream_chat_flutter/test/src/poll/goldens/ci/stream_poll_options_dialog_dark.png # packages/stream_chat_flutter/test/src/poll/goldens/ci/stream_poll_options_dialog_light.png # packages/stream_chat_flutter/test/src/poll/interactor/goldens/ci/stream_poll_interactor_dark.png # packages/stream_chat_flutter/test/src/poll/interactor/goldens/ci/stream_poll_interactor_light.png
* feat(repo): flutter 3.38.1 (#2495) * refactor(ui)!: redesign Avatar components (#2502) * feat(ui): add new avatar components * refactor(ui)!: Redesign Avatar components This commit introduces a complete redesign of the Avatar components to simplify the API, improve consistency, and align with the new design system. The following components have been removed and replaced: - `StreamUserAvatar` - `StreamGroupAvatar` - `StreamChannelAvatar` They are replaced by a new suite of components: - `StreamUserAvatar`: Displays a single user's avatar. - `StreamUserAvatarGroup`: Displays a grid of user avatars for group channels. - `StreamUserAvatarStack`: A new component for displaying a stack of overlapping user avatars. - `StreamChannelAvatar`: Rebuilt to internally use the new avatar components. Key changes: - **Simplified Sizing**: The `constraints` parameter has been replaced with a `size` enum (e.g., `StreamAvatarSize.lg`) for standardized sizing. - **Tap Handling**: The `onTap` callback has been removed. Avatars should now be wrapped with a `GestureDetector` or `InkWell` for handling interactions. - **Parameter Cleanup**: Parameters like `borderRadius`, `selected`, `selectionColor`, and `selectionThickness` have been removed to simplify the API. Customization is now handled through theming. - **Online Indicator**: The `showOnlineStatus` parameter has been renamed to `showOnlineIndicator`. Its default is now `true` for `StreamUserAvatar` and `false` for avatars inside groups or stacks. - **`StreamGroupAvatar` is now `StreamUserAvatarGroup`**: The component has been renamed and now accepts a list of `User` objects instead of `Member` objects. - **Migration Guide**: A detailed migration guide for the new avatar components has been added under `migrations/redesign/stream_avatar.md`. - **Theming**: Integrated the new `StreamTheme` extension from `stream_core_flutter` for better theme management. * feat: Use git version for stream_core_flutter This commit updates the `stream_core_flutter` dependency to use a version from a git repository. Specifically, it points to the `feat/avatar-group-and-badge-count` branch of the `GetStream/stream-core-flutter` repository. * chore: skip smudge on CI Temporarily skip LFS smudge process on CI workflows to work around an issue with a dependency. * docs: update user avatar group/stack doc comments * chore: Update Goldens * fix: set user avatar size in thread list tile * chore: Update Goldens * docs: add theming guide for redesigned components The migration guide for the redesigned UI components is updated to include a new "Theming" section. This section explains how to use `StreamTheme` to customize the appearance of the new components, providing code examples for both light and dark modes. It also adds a "Need Help?" section directing users to open a GitHub issue if they encounter problems. * chore: pin stream_core_flutter dependency to a specific commit * feat: Sort users to show current user first In the `StreamChannelAvatar` widget, the list of members is now sorted to prioritize the current user. This ensures that in a `StreamUserAvatarGroup`, the current user's avatar is shown first when available. * chore: prevent publishing of stream_core_flutter until available on pub.dev * chore: update stream_core_flutter dependency The `stream_core_flutter` git dependency reference has been updated to `c066cb481bd8a8523e5ea52f3433ffeaeab11332` in `packages/stream_chat_flutter/pubspec.yaml`. * chore: remove GIT_LFS_SKIP_SMUDGE from workflows Removes the `GIT_LFS_SKIP_SMUDGE` environment variable and associated TODO comments from GitHub Actions workflows (`stream_flutter_workflow`, `beta_version_analyze`, `update_goldens`, `distribute_internal`, and `release_publish`). This workaround is no longer required. --------- Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com> * update project files for latest flutter version (#2507) * add internal testflight builds (#2508) * feat(ui): message composer design update (#2505) * Adding new message composer * basic implementation message composer * Added focus node * Add placeholder * update core dependency * formatting * chore: Update Goldens --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * chore(ui): update goldens (#2515) * chore: Update Goldens * fix analysis warning --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * refactor(ui)!: update design for context menu and message action (#2517) * feat(UI): composer attachments (#2514) * Add quoted message and basic attachment picker * fix incoming/outgoing style * Add basic og Attachments * improve legacy attachment list * Fix client state in test * Add documentation * skip input tests for now * bug fix on inputfield * chore: Update Goldens * use new MessageComposerAttachmentLinkPreview # Conflicts: # melos.yaml # packages/stream_chat_flutter/pubspec.yaml * improve attachments in the composer * Start with support for all attachments * added option for recording in composer * working voice recording feature * minor improvements in voice attachments * code cleanup * don't use list for file attachment * chore: Update Goldens * Fix composer attachment tests * Make trailing button stateless * renamings from core * remove default value * remove unused import * chore: Update Goldens --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * add initial claude file (#2523) * add initial claude file * update format check Co-authored-by: Sahil Kumar <xdsahil@gmail.com> * improve note on local dependency --------- Co-authored-by: Sahil Kumar <xdsahil@gmail.com> * feat(ui): audio attachments in composer (#2518) * Improved voice recording UI * separate voice recordings in default attachments * Simplify theming * Improve structure of message composer * remove default background color * add stream theme with brightness in test * chore: Update Goldens * fix 2 outdated tests * update theme properties in tests --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * feat(ui)!: redesign reaction components and introduce `ReactionIconResolver` (#2521) Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com> * feat(ui): update icons (#2519) * Deprecate old icons and add list of replacements * migrated icons in the sdk * chore: Update Goldens * remove unused import * chore: Update Goldens --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * don't use source files in tests (#2524) * Migrate message composer factories (#2525) * Migrate message composer factories * temporarily disabled flutter cache on workflows * Improve on builder factory * remove unused import * feat(ui): channel list item (#2522) * update avatars * Use channel list item in sdk * improve muted state * improve channel avatars * change to git dependency * chore: Update Goldens * Update channel name and list tile * chore: Update Goldens * remove unused properties * revert change on location marker * rename listitem and move items from core * Add factory builder * move props construction * update theming * Add migration docs * Fix analysis issues * Simplify the builder extensions * Fix test --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * feat(ui): edit message (#2526) * started edit message * Added unit tests * change isEnabled state * fix git ref * fix analysis and format issue * feat(ui): inline attachment picker (#2527) * make inline attachment picker # Conflicts: # packages/stream_chat_flutter/lib/src/components/message_composer/stream_chat_message_composer.dart # packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker.dart * start with new UI * Improve layout of gallery picker * hide picker when keyboard is visible * Improve on minimal spacing in message composer * update tests * remove unused variable * feat(ui): minor ui updates (#2528) * Update channel and messageview header * Fix thread list header * minor fixes * chore: Update Goldens * update bottom nav in sample app --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * feat(ui): redesign image CDN handling and thumbnail resizing (#2531) Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> fix incorrect `stableCacheKey` String extension reference in image CDN migration guide (#2532) * feat(llc, ui, core): introduce `StreamReactionListController` and `StreamReactionListView` for paginated reactions (#2533) Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com> * multiple message list improvements (#2530) * multiple message list improvements * update date divider * update scrolledUnderElevation of channellist * feat(ui): enhance file and media pickers with improved layout and styling * feat(ui): update poll creation button label and styling for improved clarity * feat(poll): return result from onPollCreated callback for better handling * feat(ui): improve message input with DM checkbox and refined attachment picker logic * feat(sample): implement swipe-to-reply functionality for messages with visual feedback * feat(ui): enhance message composer with improved title and subtitle rendering * feat(ui): refine button sizes and colors for improved UI consistency * feat(ui): refine button sizes and colors for improved UI consistency * feat(llc): standardize connect and receive timeout values using constants * fix analysis issues * fix unit test * chore: Update Goldens --------- Co-authored-by: Sahil Kumar <sahil@getstream.io> Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * feat(ui): composer also send to channel (#2537) * Improve layout for 'send as dm' * Remove unused imports * remove use of default color * Changed hideSendAsDm in canAlsoSendToChannelFromThread * fix typo * fix autocomplete tap actions (#2540) * fix(ui): fix keystroke reporting (#2545) * fix keystroke reporting * tweak * introduced throttle to keystroke * fixes * search bar design (#2539) * feat(ui): preview formatter redesigned (#2542) * preview formatter redesigned * improved poll preview * draft message preview * translations change * core bump * melos fix * tests fix * chore: Update Goldens --------- Co-authored-by: Brazol <5622717+Brazol@users.noreply.github.com> * fix(ui): updated unread indicator to use core badge widget (#2546) Co-authored-by: Brazol <5622717+Brazol@users.noreply.github.com> * refactor(ui)!: stream message widget and reactions (#2547) * refactor(ui)!: redesign StreamMessageWidget with composable sub-components Replace the monolithic message widget implementation with a composable architecture using dedicated sub-components (StreamMessageHeader, StreamMessageFooter, StreamMessageLeading, StreamMessageContent, StreamMessageText, StreamMessageReactions, StreamMessageDeleted, StreamMessageSendingStatus). Introduce StreamMessageWidgetProps to encapsulate all configurable properties and a StreamMessageWidget.fromProps named constructor. Add nullable attachmentBuilders support on StreamMessageWidget, StreamMessageContent, and ParseAttachments, with a global fallback in StreamChatConfigurationData. Add configurable reactionType and reactionPosition to StreamChatConfigurationData (nullable, widget resolves defaults). Reaction overlap is now platform-aware (disabled on desktop/web). Remove legacy widgets: MessageWidgetContent, MessageCard, BottomRow, TextBubble, DeletedMessage, MessageText, Username, ThreadParticipants, ThreadPainter, UserAvatarTransform, SendingIndicatorBuilder, QuotedMessage, PinnedMessage, ReactionIndicator, ReactionBubbleOverlay, ReactionPickerBubbleOverlay, and MessageReactionsModal. BREAKING CHANGE: Removed several public message widget classes and the MessageReactionsModal. Consumers using these directly must migrate to the new composable sub-components or use StreamComponentFactory. * refactor(ui)!: rename `StreamReactionPicker` to `StreamMessageReactionPicker` and update related components * chore: merge fixes * chore: Update Goldens --------- Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com> * feat(UI): show command chip (#2541) Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> Co-authored-by: Sahil Kumar <sahil@getstream.io> * fix crossSmall to medium (#2551) * improvements on attachment in quote (#2538) * refactor(ui): unread indicator redesign (#2548) * unread indicator redesign * tweak * Add inline add more tile for gallery permissions (#2553) * Add inline add more tile for gallery permissions * Add unit test * minor improvements * update migration docs (#2555) * fix location sharing (#2556) * feat(ui): fix duration on video attachments (#2554) * fix duration on video attachments * update core reference * feat(UI): Instant commands improvements (#2550) * Add commands attachment option * merge command icons * improve layout command autocomplete * also update mentions autocomplete * formatting * fix autocomplete dispose issue * using icontheme to clean the code * also remove size from svg icon * add command picker type * feat(ui): skeleton loadings (#2552) * channel list skeleton * fix * skeletons * fix * fix * update ref * ref update * ref bump * bump again * fix command picker title --------- Co-authored-by: Rene Floor <rene.floor@getstream.io> * feat(ui): new spinner for next page loading (#2549) * new spinner for next page loading * fix * format * expose default buttons of composer (#2558) * expose default buttons of composer * formatting * fix a failing unit test (#2562) * fix a failing unit test * chore: Update Goldens --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * show edited footer always (#2565) * fix(ui): messages preview fixes + draft message fix (#2563) * messages preview fixes * changelog * feat(ui): empty states (#2557) * empty states * fix * format * chore: Update Goldens * test fix * fix --------- Co-authored-by: Brazol <5622717+Brazol@users.noreply.github.com> * don't start recording if we don't have permission (#2571) * fix mention tap (#2574) * highlight on tap (#2573) * thread arrow + translations (#2570) * feat(ui): factories for composer attachments (#2566) * factories for composer attachments * cleanup * improve on attachments * re-add missing features * Add docs * update migration doc * PR comment fixes * feat(ui): fading floating date divider (#2569) * fading floating date divider * tests fix * feat(ui): swipe to reply moved to sdk (#2567) * swipe to reply moved to sdk * reply left-to-right always * fix(ui): context menu alignment (#2568) * context menu alignment * fix * fix(ui): Multiple composer fixes (#2575) * Multiple composer fixes timestamp for video command button icon restore pre-edit message * chore: Update Goldens --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * dont start play after track seek (#2572) * allow multiple reactions in sample app (#2578) * fix jump to message if not in memory (#2577) * refactor(ui): redesign message attachments and poll components (#2576) * refactor(ui): redesign message attachments and poll components This commit introduces a significant redesign and refactoring of message attachments and poll interaction components to align with the new design system. * **Attachments**: * Refactored `StreamImageAttachment`, `StreamVideoAttachment`, `StreamFileAttachment`, `StreamGiphyAttachment`, and `StreamGalleryAttachment` to use a property-based component architecture with default implementations. * Introduced `StreamMessageAttachment` as a unified container for styling attachments. * Replaced `StreamUrlAttachment` with `StreamLinkPreviewAttachment`. * Switched from `CachedNetworkImage` to `StreamNetworkImage` from `stream_core_flutter`. * Updated attachment builders to simplify padding and shape management via the new theme system. * **Polls**: * Redesigned `StreamPollInteractor` and its sub-components (`PollHeader`, `PollOptionsListView`, `PollFooter`). * Updated poll styling to use design tokens for typography, spacing, and colors. * Integrated `StreamButton`, `StreamCheckbox`, and `StreamProgressBar` into the poll UI. * Refactored poll theming into `StreamPollInteractorThemeData` and `StreamPollOptionStyle`. * **Voice Recordings**: * Redesigned `StreamVoiceRecordingAttachment` with updated playback controls and waveform visualization. * Improved `StreamVoiceRecordingAttachmentPlaylist` with a new `itemDecorator` for better layout control in the message composer and list. * Migrated playback speed management to use `StreamPlaybackSpeed` and `StreamPlaybackSpeedToggle`. * **Theming & Layout**: * Renamed `StreamMessagePlacement` to `StreamMessageLayout`. * Introduced `StreamMessageLayoutData` to manage stack position, alignment, and content-aware layout kinds (e.g., `emojiOnly`, `singleAttachment`). * Updated `MessageWidget` to use `maxWidth` (default 264px) instead of `widthFactor`. * Added generated theme extensions for `StreamVoiceRecordingAttachmentThemeData` and `StreamPollInteractorThemeData`. * **Chore**: * Updated dependencies in `pubspec.yaml` and `melos.yaml`. * Updated Golden tests to reflect UI changes. * refactor(ui): rename `UrlAttachment` to `LinkPreviewAttachment` * Rename `UrlAttachment` to `LinkPreviewAttachment` for better clarity. * Rename `UrlAttachmentBuilder` to `LinkPreviewAttachmentBuilder`. * Update internal references and exports to reflect the naming change. * docs: add migration guide for redesigned attachment components and polls * refactor(dependencies): switch `stream_core_flutter` to use git source * chore: Update Goldens * chore: fix analysis issue * chore: merge fixes * fix: add path_provider_foundation framework to project configuration * fix: fix tests * fix: update stream_core_flutter dependency reference * chore: Update Goldens * chore: fix lints * Apply suggestions from code review Co-authored-by: Rene Floor <r.floor.1@gmail.com> * update core library --------- Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com> Co-authored-by: Rene Floor <rene.floor@getstream.io> Co-authored-by: Rene Floor <r.floor.1@gmail.com> * Revert development team (#2579) * refactor(ui): appbar redesigned (#2560) * appbar redesigned * format fix * mention color fix * chore: Update Goldens * moved base app bar to core * fix(ui): ui and translation fixes (#2564) * ui and translation fixes * chore: Update Goldens * test fix --------- Co-authored-by: Brazol <5622717+Brazol@users.noreply.github.com> * core dep * removed old appbar --------- Co-authored-by: Brazol <5622717+Brazol@users.noreply.github.com> * refactor(ui): update `ReactionIconResolver` to return `StreamEmojiContent` instead of `Widget` (#2591) Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com> * feat(ui): update icon set (#2587) * icon updates * fix size of icons * update core dependency * chore: Update Goldens * temporarily limit connectivity_plus package * update core sdk * chore: Update Goldens --------- Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> * Add option to force RTL in sample app (#2592) * chore(repo): xcode update (#2593) * run with latest xcode * downgrade xcode version * improve if statement * use version 26.3 Co-authored-by: Rene Floor <r.floor.1@gmail.com> * fix(ui): hide message replies in thread view and other improvements (#2594) * trim composer (#2586) * minor rtl fixes (#2595) * fix(ui): hide mark as unread for own messages (#2590) * hide mark as unread for own messages * tweak + test * doc comment * fixes for deleted messagees (#2581) * navigation between channel and thread (#2580) * fix(ui): fix gallery actions (reply + show in chat) (#2584) * navigation between channel and thread * fix for gallery actions * feat(ui): add error badge for failed and bounced messages (#2597) Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com> * feat: thread list view (#2598) * thread list view * tabs title fix * icon size tweak * chore: Update Goldens * fix * tweak --------- Co-authored-by: Brazol <5622717+Brazol@users.noreply.github.com> * feat(ui): animate attachment picker + close on back press (#2588) * animate attachment picker * close picker on back press * new approach for the animation * fix(ui) channel + preview redesign issues fixed (#2600) * channel + preview issues fixed * format fix * fix * Some missing migrations (#2602) * feat(ui): update quoted message when edited/deleted (#2603) * update quoted message * handle edit also + tests * format * tests fixes * update stream_core_flutter version (#2604) --------- Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com> Co-authored-by: Rene Floor <rene.floor@getstream.io> Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Maciej Brażewicz <brazol@gmail.com> Co-authored-by: Brazol <5622717+Brazol@users.noreply.github.com> Co-authored-by: Maciej Brażewicz <maciej.brazewicz@getstream.io> Co-authored-by: Rene Floor <r.floor.1@gmail.com>
Submit a pull request
CLA
Description of the pull request
Needs: GetStream/stream-core-flutter#91
This updates all the icons to the new set and also updates the migrating guidelines for when you're still using the old chat icons.
All icons now have size variants, so I tried to use the best match possible.
Screenshots / Videos