Repository navigation
fix(ui): make a leaving composer action inert before its exit animation ends - #448
Merged
Merged
Conversation
…on ends Why: packages/ui/src/components/composer/composer-actions.tsx#function Secondary | a leaving secondary action (Stop) must be inert immediately; WebKit pauses animation frames in hidden windows, so exits can last indefinitely
This was referenced Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #443 (R1 re-check on 0.0.46.52).
After a run ends, the composer's Stop button leaves through a motion
AnimatePresencespring. WebKit delivers no animation frames to a hidden or occluded window, and desktop runs bring Chrome or TextEdit to the front over Ace. So the exit stalls, and the button stays mounted and in the accessibility tree as "Stop response" until frames resume. The leaving action is nowinertfrom the moment it starts leaving.Checked in Playwright WebKit with the real
ComposerActionsandComposerSubmit, holdingrequestAnimationFramethe way a hidden window does, then ending the run:main: "Stop response" stays exposed for the whole 3 s pause and clears only when frames resume.Not fixed: the composer spinner the re-check reported. The submit button's loading icon leaves without waiting for frames in the same test, and the gateway logs show the R1
askandanswerrequests returning in 8–85 ms, so its cause is still open on #443.Built in Ace
No. Built in Claude Code (lane worktree, Playwright WebKit in a scratch directory) because the study lead asked that this Mac's Ace Canary stay untouched while the desktop-tools study runs.