Skip to content

Applies new updates from Figma#6308

Merged
andremion merged 5 commits intov7from
redesign/new-figma-updates
Mar 30, 2026
Merged

Applies new updates from Figma#6308
andremion merged 5 commits intov7from
redesign/new-figma-updates

Conversation

@andremion
Copy link
Copy Markdown
Contributor

@andremion andremion commented Mar 30, 2026

Goal

Apply the new updates from Figma

Implementation

  • Rename textInverse to textOnInverse.
  • Rename backgroundCoreSurface to backgroundCoreSurfaceDefault and remove backgroundCoreElevation4.
  • Rename borderCoreInverse to borderCoreOnInverse.
  • Add new color properties: borderCoreOnSurface and borderUtilityDisabledOnSurface.
  • Update all UI components, samples, and documentation across the library to reflect the new theme property names.
  • Update buttonPrimaryText to use accentPrimary by default.
  • Adjust controlToggleSwitchKnob to use backgroundCoreOnAccent.
  • Update the public API signature for StreamDesign.Colors.

🎨 UI Changes

No UI changes

Testing

CI pipeline should pass

Summary by CodeRabbit

  • Style
    • Updated application color tokens to enhance visual consistency across chat messages, avatars, input fields, and other interface elements.

- Rename `textInverse` to `textOnInverse`.
- Rename `backgroundCoreSurface` to `backgroundCoreSurfaceDefault` and remove `backgroundCoreElevation4`.
- Rename `borderCoreInverse` to `borderCoreOnInverse`.
- Add new color properties: `borderCoreOnSurface` and `borderUtilityDisabledOnSurface`.
- Update all UI components, samples, and documentation across the library to reflect the new theme property names.
- Update `buttonPrimaryText` to use `accentPrimary` by default.
- Adjust `controlToggleSwitchKnob` to use `backgroundCoreOnAccent`.
- Update the public API signature for `StreamDesign.Colors`.
@andremion andremion added the pr:ignore-for-release Exclude from release notes label Mar 30, 2026
@andremion andremion requested a review from a team as a code owner March 30, 2026 10:48
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 30, 2026

PR checklist ✅

All required conditions are satisfied:

  • Title length is OK (or ignored by label).
  • At least one pr: label exists.
  • Sections ### Goal, ### Implementation, and ### Testing are filled.

🎉 Great job! This PR is ready for review.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 30, 2026

SDK Size Comparison 📏

SDK Before After Difference Status
stream-chat-android-client 5.25 MB 5.68 MB 0.43 MB 🟡
stream-chat-android-ui-components 10.60 MB 10.99 MB 0.39 MB 🟡
stream-chat-android-compose 12.81 MB 12.11 MB -0.70 MB 🚀

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 30, 2026

Walkthrough

Comprehensive color token renaming across Stream Chat Android Compose theme system. Updated StreamDesign.Colors API to rename semantic color properties (backgroundCoreSurfacebackgroundCoreSurfaceDefault, textInversetextOnInverse, borderCoreInverseborderCoreOnInverse) and introduce new tokens. Applied token migrations across 23 files in compose components, themes, and documentation.

Changes

Cohort / File(s) Summary
Theme Definition & API
stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt, stream-chat-android-compose/api/stream-chat-android-compose.api
Renamed StreamDesign.Colors properties: textInversetextOnInverse, backgroundCoreSurfacebackgroundCoreSurfaceDefault, borderCoreInverseborderCoreOnInverse. Added borderCoreOnSurface and borderUtilityDisabledOnSurface. Removed backgroundCoreElevation4. Updated constructor signatures and factory defaults.
Background Color Token Migration
stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt, stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt, stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SwipeActionItem.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadListBanner.kt, stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt, stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt
Replaced backgroundCoreSurface with backgroundCoreSurfaceDefault for container backgrounds in cards, input fields, dialogs, and indicators.
Border Color Token Migration
stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/AvatarStack.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt
Replaced borderCoreInverse with borderCoreOnInverse for avatar border styling.
Text Color Token Migration
stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CommandChip.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MediaBadges.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt, stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt
Replaced textInverse with textOnInverse for text and icon tinting in chips, badges, headers, and snackbars.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • VelikovPetar
  • gpunto

Poem

🐰 Hop hop, colors realign,
textInverse now textOnInverse divine,
backgroundCoreSurface takes new name with cheer,
Semantic tokens refreshed throughout the sphere!
Twenty-three files painted in perfect refrain, 🎨✨

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 27.27% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Applies new updates from Figma' is vague and does not convey specific information about what changes were made; it lacks concrete details about the refactoring of color tokens and theme properties. Consider a more specific title such as 'Refactor theme color tokens: rename inverse colors and update UI components' to better communicate the scope of changes.
✅ Passed checks (1 passed)
Check name Status Explanation
Description check ✅ Passed The PR description covers the main goals and implementation details but lacks UI comparison screenshots/videos and comprehensive testing information as specified in the template, though the core implementation details are well documented.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch redesign/new-figma-updates

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.

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.

Actionable comments posted: 2

Caution

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

⚠️ Outside diff range comments (1)
stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt (1)

121-165: ⚠️ Potential issue | 🟠 Major

Ensure Colors API changes are documented in v7 migration notes.

The breaking changes to StreamDesign.Colors (renames: textInversetextOnInverse, backgroundCoreSurfacebackgroundCoreSurfaceDefault, borderCoreInverseborderCoreOnInverse; removal: backgroundCoreElevation4; additions: borderCoreOnSurface, borderUtilityDisabledOnSurface) are not currently captured in migration documentation. CHANGELOG.md's unreleased section for stream-chat-android-compose is empty for these changes, and MIGRATION_TO_V7.md does not exist.

Add entries to CHANGELOG.md or create MIGRATION_TO_V7.md documenting the affected color tokens and their migration paths.

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

In
`@stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt`
around lines 121 - 165, Document the breaking changes to StreamDesign.Colors by
adding a migration note (either update the stream-chat-android-compose
CHANGELOG.md unreleased section or create a MIGRATION_TO_V7.md) that lists the
renamed tokens (textInverse → textOnInverse, backgroundCoreSurface →
backgroundCoreSurfaceDefault, borderCoreInverse → borderCoreOnInverse), the
removed token (backgroundCoreElevation4), and the new tokens
(borderCoreOnSurface, borderUtilityDisabledOnSurface), and include clear
migration guidance mapping old token names to new ones and suggested fallbacks
for removed tokens so integrators can update usages of StreamDesign.Colors
accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@stream-chat-android-compose/api/stream-chat-android-compose.api`:
- Line 6256: Add migration docs for the breaking StreamDesign.Colors token
renames and new tokens: list old→new mappings (e.g., backgroundCoreSurface →
backgroundCoreSurfaceDefault, textInverse → textOnInverse, borderCoreInverse →
borderCoreOnInverse) and any newly introduced tokens, and include example code
showing how to update existing theme usage; place this guidance in CHANGELOG.md
under UNRELEASED → stream-chat-android-compose → ⚠️ Changed or create a
MIGRATION_TO_V7.md and also add brief deprecation notes to DEPRECATIONS.md
referencing StreamDesign.Colors and the renamed getters/parameters so
integrators can migrate their code.

In
`@stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt`:
- Line 94: Update the KDoc for the parameter borderCoreOnInverse in StreamDesign
(referencing backgroundCoreInverse and defaultDark) to be theme-agnostic:
replace "Used on dark backgrounds" with wording like "Border on inverse
backgrounds" (or similar) so the description remains correct for both light and
dark/defaultDark palettes and any custom themes.

---

Outside diff comments:
In
`@stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt`:
- Around line 121-165: Document the breaking changes to StreamDesign.Colors by
adding a migration note (either update the stream-chat-android-compose
CHANGELOG.md unreleased section or create a MIGRATION_TO_V7.md) that lists the
renamed tokens (textInverse → textOnInverse, backgroundCoreSurface →
backgroundCoreSurfaceDefault, borderCoreInverse → borderCoreOnInverse), the
removed token (backgroundCoreElevation4), and the new tokens
(borderCoreOnSurface, borderUtilityDisabledOnSurface), and include clear
migration guidance mapping old token names to new ones and suggested fallbacks
for removed tokens so integrators can update usages of StreamDesign.Colors
accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ade846cb-18cd-4849-bf7d-dc5af96e32d9

📥 Commits

Reviewing files that changed from the base of the PR and between 0a6ceb0 and af06add.

📒 Files selected for processing (22)
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/SharedLocationItem.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt
  • stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/profile/UserProfileScreen.kt
  • stream-chat-android-compose/api/stream-chat-android-compose.api
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channel/attachments/ChannelMediaAttachmentsScreen.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SwipeActionItem.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/ShimmerProgressIndicator.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/AvatarStack.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ChannelAvatar.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/CommandChip.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/common/MediaBadges.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionVotesDialog.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollSwitchList.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/MessageComposerTheme.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamDesign.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadListBanner.kt
  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/StreamSnackbar.kt
  • stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt
  • stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt

- Add `borderUtilityFocused` to `StreamDesign.Colors` to distinguish between focus and selection states.
- Update `borderUtilitySelected` values for both light and dark themes to use semi-transparent slate and white, respectively.
- Adjust `controlPlayButtonBg` to use a semi-transparent black instead of a solid chrome color.
- Update `ChannelItem` to use `borderUtilityFocused` for the focus ring instead of `borderUtilitySelected`.
- Reflect the changes in the public API signature of `StreamDesign$Colors`.
@andremion andremion enabled auto-merge (squash) March 30, 2026 12:33
@sonarqubecloud
Copy link
Copy Markdown

@andremion andremion merged commit 223088b into v7 Mar 30, 2026
19 of 20 checks passed
@andremion andremion deleted the redesign/new-figma-updates branch March 30, 2026 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:ignore-for-release Exclude from release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants