Skip to content

fix(launchpad): cancel stale flash timer - #1333

Draft
FerroxLabs wants to merge 1 commit into
mainfrom
pr/launchpad-flash-lifecycle
Draft

FerroxLabs wants to merge 1 commit into
mainfrom
pr/launchpad-flash-lifecycle

Conversation

@FerroxLabs

Copy link
Copy Markdown
Owner

Closing or navigating away from the Launchpad picker during its 600 ms selection flash left a component-owned timeout alive. The delayed state update could run after unmount; the full Linux suite exposed it as an unhandled window is not defined exception.

This change retains one flash timeout, cancels it when a newer pick replaces it, clears it on expiry, and disposes it on unmount. Focused regressions cover flash duration, replacement, unmount/remount isolation, inert pinned/capped cards, and exact Escape-listener cleanup.

Validation:

  • ASTRA bounded lifecycle review completed within the two-round limit.
  • Required prek passed.
  • Focused LaunchpadPicker suite: 15 passed.
  • Exact combined Linux aggregate: 21,524 Vitest passed / 53 skipped; 285 Bun-native passed / 0 failed; no unhandled callback error.

@github-actions github-actions Bot added the area:desktop-ui Desktop UI label Sep 5, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants