feedBack-desktop/tests
OmikronApex bb0f79e0be fix(audio): user-stop latch - plugin keep-alives can no longer undo a user stop
Field finding (fix14 test build): nam_tone's 1.5s keep-alive watchdog
calls raw startAudio whenever the engine is not running, restarting it
seconds after the user pressed Stop - and the shim treated any raw start
as user authority, resuming all suspended demands with it.

Per plan 8.3 (user stop always wins) raw start/stop was supposed to be
device-screen-only; now enforced:
- audio:userStartAudio / audio:userStopAudio: explicit user authority.
  Stop sets a latch (+ suspends demands); start clears it (+ resumes).
- raw audio:startAudio is SUPPRESSED while latched (log-once telemetry
  'suppressed-by-user-stop') and no longer resumes demands.
- raw audio:stopAudio no longer suspends demands (it is the transient
  stop the device-apply flow and unmigrated plugins use).
- fresh capture demands born during the latch start suspended, so the
  user start resumes them like pre-existing ones; the demand glue also
  refuses to start the engine while latched.
- device screen (src/renderer/screen.js) toggle + apply flows use the
  user-authority calls.

Contract snapshots regenerated (2 IPC channels, 2 preload keys).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 01:08:52 +02:00
..
audio_sanitize Clean release snapshot 2026-06-16 18:48:12 +02:00
chordscorer Clean release snapshot 2026-06-16 18:48:12 +02:00
contracts fix(audio): user-stop latch - plugin keep-alives can no longer undo a user stop 2026-07-15 01:08:52 +02:00
engine_units feat(audio): engine-owned Mixer — RendererBus generalized to N channels 2026-07-14 22:27:08 +02:00
mlnotedetector perf(audio): gate ML note-detection pipeline (default OFF, arm on demand) (#51) 2026-06-29 23:12:31 +02:00
sandbox audio: per-slot postGain for parallel-branch loudness leveling (#58) 2026-07-02 12:50:47 +02:00
spike Clean release snapshot 2026-06-16 18:48:12 +02:00
_load-ts.js feat(audio): wire lease registry into IPC — leases surface, demand glue, legacy telemetry 2026-07-14 22:13:16 +02:00
audio-chain-persistence.test.js fix(renderer): keep Rig Builder's tone out of the user's manual VST chain (#73) 2026-07-03 15:59:34 +02:00
audio-effects-executor.test.js test: fix two Windows-environment-dependent failures (suite now fully green) 2026-07-14 03:18:33 +02:00
chain-mutation-storm.test.js fix(audio): serialize chain mutations + chainGeneration (phase 7a) 2026-07-14 01:45:01 +02:00
CMakeLists.txt fix(audio): sanitize input/chain/output/backing gains at the engine setters 2026-07-13 23:28:34 +02:00
config-bootstrap.test.js feat(config): real config reset/repair + migration framework (drop manual-delete) (#38) 2026-06-26 22:13:24 +02:00
config-migrations.test.js feat(config): real config reset/repair + migration framework (drop manual-delete) (#38) 2026-06-26 22:13:24 +02:00
config-paths.test.js test: fix two Windows-environment-dependent failures (suite now fully green) 2026-07-14 03:18:33 +02:00
config-reset.test.js feat(config): real config reset/repair + migration framework (drop manual-delete) (#38) 2026-06-26 22:13:24 +02:00
contract-check.test.js test(contracts): Phase 0.a contract snapshots for audio surface 2026-07-13 23:21:21 +02:00
juce-exclusive-type-name.test.js test: pin JUCE WASAPI exclusive device-type name (#90) 2026-07-09 22:18:04 +02:00
lease-bridge.test.js fix(audio): user-stop latch - plugin keep-alives can no longer undo a user stop 2026-07-15 01:08:52 +02:00
lease-registry.test.js feat(audio): lease registry — exclusive leases + refcounted demands 2026-07-14 22:05:51 +02:00
mixer-bridge.test.js feat(audio): mixer bridge — tiered audio.mixer.* surface, reap, diag heuristic 2026-07-14 22:30:44 +02:00
ml-note-detection.test.js Clean release snapshot 2026-06-16 18:48:12 +02:00
monitor-mute-suppression.test.js fix(renderer): roll back the mute-suppression latch when the IPC fails 2026-07-14 14:52:34 +02:00
multi-source.test.js Clean release snapshot 2026-06-16 18:48:12 +02:00
napi-arg-fuzz.test.js fix(audio): close the PR #107 review findings 2026-07-14 14:29:03 +02:00
renderer-capability-migration.test.js Clean release snapshot 2026-06-16 18:48:12 +02:00
window-bounds.test.js fix(panes): only the main window may drive the tray; clamp fallback defaults 2026-07-12 21:18:05 -04:00