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 inconsistent app icon active states in chat-first rail (#4834)
* Give the chat-first rail one owner for active icon state
Search Chats rendered outside the nav tablist with hover-only styling and had
no ChatFirstPrimaryTab member, so it could never show an active state. The apps
rail derived its inactive treatment from activeAppId alone, which could not
distinguish an unresolved surface from a nav surface owning the rail, so every
app icon kept its in-color active treatment whenever Search Chats, Scheduled,
Integrations, or New chat took the main area.
Both surfaces now resolve active state through a shared active-surface module,
so exactly one rail entry reads as active.
* Make the desktop rail's active nav surface a tested pure resolver
Scheduled tasks and the chats view are rail surfaces without an appId, so they
have to name a primary tab or the rail cannot tell them from an unresolved
surface. That derivation was an inline useMemo with no coverage; extracting it
lets a test fail if a future surface stops naming its tab.
---------
Co-authored-by: Builder.io <builder-bot@builder.io>
0 commit comments