Skip to content

fix(desktop): sync agent tab motion and optimistic huddle leave update - #3288

Open
westwol wants to merge 1 commit into
block:mainfrom
westwol:westwol/fix-create-agent-tab-huddle-leave-anim
Open

fix(desktop): sync agent tab motion and optimistic huddle leave update#3288
westwol wants to merge 1 commit into
block:mainfrom
westwol:westwol/fix-create-agent-tab-huddle-leave-anim

Conversation

@westwol

@westwol westwol commented Jul 28, 2026

Copy link
Copy Markdown

The AI-configuration tabs in the create-agent dialog ran the sliding pill and its labels on different clocks: the pill used duration-[250ms] ease-out while the triggers specified a bare transition-colors, which falls back to Tailwind's 150ms default and cubic-bezier(0.4, 0, 0.2, 1). The label finished recoloring ~100ms before the pill arrived beneath it, on a different curve. Share one motion token between both halves and add the motion-reduce guard used elsewhere in the app.

The section below those tabs also swapped instantly while the pill slid, collapsing ~150-200px of height in one frame. Key it on the mode so the incoming fields fade in at the same duration and easing instead of snapping.

Leaving a huddle awaited the full teardown -- AudioWorklet stop, mic track stop, and the Rust leave_huddle round-trip -- before closing the drawer, which read as an unresponsive click. Close it up front and roll back to the previous state if cleanup reports failure. locallyLeavingChannelRef already suppresses in-flight "still active" states for the channel being left, so nothing reopens the drawer behind the optimistic close.

Summary

  • Fixes animation when switching Tabs in Create Agent modal.
  • Optimistic update when leaving huddle.

Related issue

Testing

Create Agent modal tab switching anim fix

Before:

Screen.Recording.2026-07-28.at.3.27.41.a.m.mov

After:

Screen.Recording.2026-07-28.at.3.15.10.a.m.mov

Leave huddle optimistic update

Before:

Screen.Recording.2026-07-28.at.3.24.45.a.m.mov

After:

Screen.Recording.2026-07-28.at.3.15.32.a.m.mov

The AI-configuration tabs in the create-agent dialog ran the sliding pill
and its labels on different clocks: the pill used duration-[250ms]
ease-out while the triggers specified a bare transition-colors, which
falls back to Tailwind's 150ms default and cubic-bezier(0.4, 0, 0.2, 1).
The label finished recoloring ~100ms before the pill arrived beneath it,
on a different curve. Share one motion token between both halves and add
the motion-reduce guard used elsewhere in the app.

The section below those tabs also swapped instantly while the pill slid,
collapsing ~150-200px of height in one frame. Key it on the mode so the
incoming fields fade in at the same duration and easing instead of
snapping.

Leaving a huddle awaited the full teardown -- AudioWorklet stop, mic
track stop, and the Rust leave_huddle round-trip -- before closing the
drawer, which read as an unresponsive click. Close it up front and roll
back to the previous state if cleanup reports failure.
locallyLeavingChannelRef already suppresses in-flight "still active"
states for the channel being left, so nothing reopens the drawer behind
the optimistic close.

Signed-off-by: Marcos Lopez <[email protected]>
@westwol
westwol requested a review from a team as a code owner July 28, 2026 09:30
@westwol westwol changed the title fix(desktop): sync agent tab motion and optimistic huddle leave fix(desktop): sync agent tab motion and optimistic huddle leave update Jul 28, 2026
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.

1 participant