You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: close CSS gaps, fix ChannelList dialog portal, and clean up icons (#3079)
### 🎯 Goal
Fix several SDK CSS gaps that forced consumers to add workarounds, fix
the ChannelList context menu appearing unstyled because its dialog
portal rendered outside the themed `.str-chat` subtree, and fix icon
issues left over from the Phosphor migration.
### 🛠 Implementation details
**SDK CSS fixes:**
- Add `min-height: 0` to `.str-chat__chat-view`,
`.str-chat__chat-view__channels`, and `.str-chat__channel` — these are
flex children that need the reset to prevent scrollable content from
overflowing their containers
- Add `width: 100%` to the `header-layout` mixin — headers
(ChannelHeader, ThreadHeader) are flex items that need to span their
parent's full width
- Add `width: 100%` to `.str-chat__main-panel-inner` — it uses
`align-items: center` which shrinks children, so it needs an explicit
width to fill its parent
- Add `scrollbar-gutter: stable` to the `scrollable-y` mixin — prevents
layout shift when scrollbars appear/disappear
- Remove incorrect `height: auto` override on `.str-chat__thread
.str-chat__main-panel-inner` (and the now-redundant virtualized
re-override) — the base `height: 100%` should apply in all cases
**ChannelList dialog portal fix:**
- Move `DialogManagerProvider` inside the `.str-chat` div so
`DialogPortalDestination` renders within the themed subtree — this fixes
context menus (mute, pin, etc.) appearing unstyled because `.str-chat
.str-chat__context-menu` selectors didn't match and CSS variables didn't
inherit
**Icon fixes (post-Phosphor migration cleanup):**
- Use `IconThreadFill` for the active threads tab in ChatView instead of
the old `IconBubbleText6SolidChatMessage` (16×16 legacy icon)
- Fix MessageActions CSS that overrode `fill='none'` on stroke-based
Phosphor icons, causing the reply icon to appear filled on hover —
replaced path-level `fill`/`stroke` overrides with `color` inheritance
via `currentColor`
- Remove 9 unused icon exports: `IconArrowRight`,
`IconBubble3ChatMessage`, `IconBubbleText6SolidChatMessage`, `IconInfo`,
`IconLightBulbSimple`, `IconMinus`, `IconMinusSmall`,
`IconSettingsGear2`, `IconVoiceFill`
**Example cleanup:**
- Remove overrides from `examples/vite/src/index.scss` that are now
handled by the SDK
- Define `IconGear` and `IconLightBulb` locally in the vite example app
(using `createIcon`) to replace removed SDK exports
- Replace other removed icon imports with available alternatives
- Add yellow tint to lightbulb icon in dark mode
### 🎨 UI Changes
- Threads tab active icon now uses the correct filled thread bubble
instead of the legacy icon
- Reply icon in message action hover no longer appears filled
- No other visual changes in the vite example app
0 commit comments