Repository navigation
Conversation
|
The PR Policy check is blocking this PR because required template information is missing. Please update the PR description with:
Visual files detected:
Screenshots or video are required for UI, UX, settings, onboarding, overlay, menu bar, or visual behavior changes. If this PR has no visual changes, check the no-visual-change box in the template. If this remains incomplete for 48 hours after opening, the PR may be closed. |
|
|
This pull request has been marked stale because it has had no activity for 5 days. It will be closed in 2 days if there is no further activity. Add the |
|
Bumping, this is still relevant. Happy to adjust based on any feedback. |
|
This pull request has been marked stale because it has had no activity for 5 days. It will be closed in 2 days if there is no further activity. Add the |
Description
Fix the microphone-change notice retaining its 30 Hz SwiftUI countdown after dismissal. A long-running FluidVoice 1.6.9 process used 15–17% idle CPU, and a scrubbed sample showed
TransientOverlayCountdownBarin the SwiftUI/AttributeGraph stack.The notice controller previously hid its panel while retaining the hosted view. An app-hosted test also found that AppKit could fade the panel to alpha 0 without calling the animation completion, leaving even the hide step unfinished. This change releases the hosted view on dismissal and adds a 200 ms fallback for the 100 ms fade. Its generation check prevents an older dismissal from removing a newer notice.
This is a focused candidate for FluidVoice's own idle CPU signature. It does not claim to resolve every report in #948 or the separate
coreaudiodassertions.Type of Change
Related Issue or Discussion
Related to #948. This fix remains under testing while manual and long-uptime checks are pending.
Testing
swiftlint --strict --config .swiftlint.yml Sources Tests Package.swiftswiftformat --config .swiftformat SourcesTransientOverlayCountdownBarorTimelineViewframes.main: blocked by a Swift type-check timeout atSources/Fluid/UI/DictionaryWordWizard.swift:754, which this PR does not change. The PR branch has not been installed over the tested app.TransientOverlayCountdownBarorTimelineViewframes. A separate three-second idle sample also lacked those frames. This distinguishes expected work during capture from the reported sustained idle CPU; it does not establish a long-uptime fix.8a30ce7for a withheld AppKit fade completion and for an older fallback firing after a newer notice. The two edited Swift files pass parsing andgit diff --check, but these tests have not executed: unrelated existing Swift compile errors inMeetingStage05EvidenceAutorun.swiftand later files stop the current-main test build before the test target can run. Temporary local build workarounds were reverted and are not in the PR.coreaudiodremain separate follow-up checks.Screenshots / Video
Notes
This PR is a provisional fix while the manual and long-uptime checks remain open. It intentionally does not close #948.