fix(SPEC-004): rebuild overlay panel per show for fullscreen Spaces - #104
Draft
wine-fall wants to merge 3 commits into
Draft
fix(SPEC-004): rebuild overlay panel per show for fullscreen Spaces#104wine-fall wants to merge 3 commits into
wine-fall wants to merge 3 commits into
Conversation
…mpts Log the intermittent bug where the recording overlay lands on a background desktop instead of the active fullscreen Space, why it is intermittent (panel bound to its birth Space), the no-focus-steal constraint, every attempt tried (level, orderFrontRegardless, rebuild), and rejected approaches (key window, space-change notifications, conditional rebuild). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… Space Tear the panel down on hide instead of just ordering it out, so the next dictation rebuilds it on whatever Space is active then. A reused panel stays bound to the Space it was born on and won't follow the user into another app's fullscreen Space. Tentative — see SPEC-004a. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tead Per maintainer preference, the investigation lives in issue #105 (problem, intermittency, attempts, rejected approaches) rather than a spec doc. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3 tasks
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.
SPEC
SPEC-004a (Recording overlay on another app's fullscreen Space) — adds the investigation spec in this PR.
Milestone
M2
Why
The recording pill intermittently lands on a background desktop instead of the user's active Space when dictation starts inside another app's native-fullscreen Space. Intermittent because the panel is bound to the Space it was born on (first dictation after launch). Visual-only — dictation/paste still work.
Change
RecordingOverlay.hideAnimatedtears the panel down (panel = nil) instead of onlyorderOut, so the next dictation rebuilds it viaensurePanel()on whatever Space is active then.docs/SPECS/SPEC-004a-…recording the bug, why it's intermittent, the no-focus-steal constraint, and all attempted/rejected approaches.Tests
swift build && swift testgreen locally (269 passed, 2 skipped)isOnActiveSpace == true) — see SPEC-004a §Acceptance criteriaPrivacy impact
None — windowing only.
Best-effort. Prior non-focus-stealing levers (window level,
orderFrontRegardlessin #102) did not fix it. The bug is intermittent and hard to verify (a restart perturbs the repro), so this needs the deterministic baseline protocol in SPEC-004a before/after. If rebuild also fails, fallback is to accept it as a documented known issue.AI coding brief
🤖 Generated with Claude Code