Skip to content

feat(repo)!: design refresh#2503

Open
xsahil03x wants to merge 34 commits intov10.0.0from
feat/design-refresh
Open

feat(repo)!: design refresh#2503
xsahil03x wants to merge 34 commits intov10.0.0from
feat/design-refresh

Conversation

@xsahil03x
Copy link
Member

No description provided.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 4, 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.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d8ac4bfa-20d9-4f49-9f6a-8c38f841ff66

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
  • Commit unit tests in branch feat/design-refresh
📝 Coding Plan
  • Generate coding plan for human review comments

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.

@xsahil03x xsahil03x changed the title feat(repo): design refresh feat(repo)!: design refresh Feb 4, 2026
@codecov
Copy link

codecov bot commented Feb 4, 2026

Codecov Report

❌ Patch coverage is 72.46279% with 407 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.67%. Comparing base (6780dc3) to head (8000c79).

Files with missing lines Patch % Lines
packages/stream_chat/lib/src/client/channel.dart 50.14% 176 Missing ⚠️
packages/stream_chat/lib/src/core/models/poll.dart 7.69% 48 Missing ⚠️
packages/stream_chat/lib/src/client/client.dart 85.71% 18 Missing ⚠️
...ges/stream_chat/lib/src/core/models/poll_vote.dart 18.18% 18 Missing ⚠️
...ckages/stream_chat/lib/src/core/models/thread.dart 58.13% 18 Missing ⚠️
...m_chat/lib/src/core/models/thread_participant.dart 0.00% 18 Missing ⚠️
...s/stream_chat/lib/src/core/models/banned_user.dart 0.00% 16 Missing ⚠️
...ckages/stream_chat/lib/src/core/models/member.dart 57.89% 16 Missing ⚠️
...es/stream_chat/lib/src/core/models/attachment.dart 79.45% 15 Missing ⚠️
...r/lib/scrollable_positioned_list/src/wrapping.dart 64.28% 15 Missing ⚠️
... and 17 more
Additional details and impacted files
@@             Coverage Diff             @@
##           v10.0.0    #2503      +/-   ##
===========================================
- Coverage    66.58%   64.67%   -1.91%     
===========================================
  Files          430      426       -4     
  Lines        26811    26138     -673     
===========================================
- Hits         17851    16905     -946     
- Misses        8960     9233     +273     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

xsahil03x and others added 11 commits February 4, 2026 16:03
* 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>
* 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: Update Goldens

* fix analysis warning

---------

Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com>
* 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

* update format check

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>

* improve note on local dependency

---------

Co-authored-by: Sahil Kumar <xdsahil@gmail.com>
* 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>
…solver` (#2521)

Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com>
@xsahil03x xsahil03x linked an issue Mar 3, 2026 that may be closed by this pull request
1 task
renefloor and others added 12 commits March 4, 2026 09:12
* 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>
* Migrate message composer factories

* temporarily disabled flutter cache on workflows

* Improve on builder factory

* remove unused import
* 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>
* started edit message

* Added unit tests

* change isEnabled state

* fix git ref

* fix analysis and format issue
* 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
* 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>
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)
…reamReactionListView` for paginated reactions (#2533)

Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com>
* 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>
* Improve layout for 'send as dm'

* Remove unused imports

* remove use of default color

* Changed hideSendAsDm in canAlsoSendToChannelFromThread

* fix typo
@renefloor renefloor force-pushed the feat/design-refresh branch from 2933fd8 to f3a9780 Compare March 13, 2026 16:35
* fix keystroke reporting

* tweak

* introduced throttle to keystroke

* fixes
Brazol and others added 9 commits March 17, 2026 17:12
* 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>
Co-authored-by: Brazol <5622717+Brazol@users.noreply.github.com>
* 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>
Co-authored-by: renefloor <15101411+renefloor@users.noreply.github.com>
Co-authored-by: Sahil Kumar <sahil@getstream.io>
* unread indicator redesign

* tweak
* Add inline add more tile for gallery permissions

* Add unit test

* minor improvements
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.

Add the ability to replace icons used in the package

3 participants