Describe the bug
While FluidVoice's dictation overlay is active, the app repeatedly emits:
Modifying state during view update, this will cause undefined behavior.
On an always-running dictation setup with the global hotkey enabled, the warning reached roughly 90 records per second during active overlay refreshes and accumulated 170,870 records in the retained seven-day unified log.
A symbolicated backtrace points to PromptSelectorAnchorReader.updateNSView(_:context:), AnchorReportingView.reportFrame(force:), and the selector frame-change handlers in BottomOverlayView.swift.
updateNSView currently calls reportFrame(force: true). The resulting callback synchronously writes selector frame/window values into SwiftUI state during the current render pass. The overlay has three selector anchors, and each writes two state values, matching the observed six-warning bursts.
A locally tested minimal fix removes the forced unchanged report from updateNSView and delivers required callbacks on the next main-queue turn. The macOS test suite passed 153 tests with 0 failures (the existing Tiny Whisper fixture E2E was skipped in line with the project's CI command). Comparable debug runs emitted 114–120 matching warnings before the fix and 0 after. I have the patch ready and would be happy to open a linked PR if the maintainers agree with the approach.
Disclosure: This report was drafted and submitted by Codex on behalf of the account owner, with their authorization. The observations and measurements come from local diagnostics on the affected Mac.
Reproduction steps
-
Launch FluidVoice 1.6.5 on an Apple Silicon Mac.
-
Keep FluidVoice running with its global hotkey enabled.
-
In Terminal, run:
/usr/bin/log stream --style compact \
--predicate 'process == "FluidVoice" AND subsystem == "com.apple.runtime-issues"'
-
Trigger dictation so the overlay is shown.
-
Observe repeated SwiftUI Modifying state during view update faults.
Expected behavior
Showing or refreshing the dictation overlay should not mutate SwiftUI state during the current render pass or emit runtime faults.
Actual behavior
The selector anchor reader synchronously reports frames from updateNSView, causing repeated SwiftUI state-update faults and high-volume unified-log writes while the overlay refreshes.
App Version
1.6.5
macOS Version
macOS 26.5.2
Architecture
Apple Silicon
Logs or crash report
[com.apple.runtime-issues:SwiftUI] Modifying state during view update, this will cause undefined behavior.
Symbolicated application frames include:
PromptSelectorAnchorReader.AnchorReportingView.reportFrame(force:)
PromptSelectorAnchorReader.updateNSView(_:context:)
BottomOverlayView.handleActionsSelectorFrameChange(_:window:)
Screenshots or screen recording
No response
Describe the bug
While FluidVoice's dictation overlay is active, the app repeatedly emits:
On an always-running dictation setup with the global hotkey enabled, the warning reached roughly 90 records per second during active overlay refreshes and accumulated 170,870 records in the retained seven-day unified log.
A symbolicated backtrace points to
PromptSelectorAnchorReader.updateNSView(_:context:),AnchorReportingView.reportFrame(force:), and the selector frame-change handlers inBottomOverlayView.swift.updateNSViewcurrently callsreportFrame(force: true). The resulting callback synchronously writes selector frame/window values into SwiftUI state during the current render pass. The overlay has three selector anchors, and each writes two state values, matching the observed six-warning bursts.A locally tested minimal fix removes the forced unchanged report from
updateNSViewand delivers required callbacks on the next main-queue turn. The macOS test suite passed 153 tests with 0 failures (the existing Tiny Whisper fixture E2E was skipped in line with the project's CI command). Comparable debug runs emitted 114–120 matching warnings before the fix and 0 after. I have the patch ready and would be happy to open a linked PR if the maintainers agree with the approach.Disclosure: This report was drafted and submitted by Codex on behalf of the account owner, with their authorization. The observations and measurements come from local diagnostics on the affected Mac.
Reproduction steps
Launch FluidVoice 1.6.5 on an Apple Silicon Mac.
Keep FluidVoice running with its global hotkey enabled.
In Terminal, run:
/usr/bin/log stream --style compact \ --predicate 'process == "FluidVoice" AND subsystem == "com.apple.runtime-issues"'Trigger dictation so the overlay is shown.
Observe repeated SwiftUI
Modifying state during view updatefaults.Expected behavior
Showing or refreshing the dictation overlay should not mutate SwiftUI state during the current render pass or emit runtime faults.
Actual behavior
The selector anchor reader synchronously reports frames from
updateNSView, causing repeated SwiftUI state-update faults and high-volume unified-log writes while the overlay refreshes.App Version
1.6.5
macOS Version
macOS 26.5.2
Architecture
Apple Silicon
Logs or crash report
Screenshots or screen recording
No response