aboutsummaryrefslogtreecommitdiff
path: root/scripts/zfs-replicate
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-10 10:42:58 -0500
committerCraig Jennings <c@cjennings.net>2026-07-10 10:42:58 -0500
commita5539b197258f9b76c5c94c619945da8c8968d4a (patch)
treecb979e07a390b64043b0f451aee5080e7df6e356 /scripts/zfs-replicate
parentc8400e6ca786e4cc473b7a2fc338a67f55d93238 (diff)
downloadarchsetup-a5539b197258f9b76c5c94c619945da8c8968d4a.tar.gz
archsetup-a5539b197258f9b76c5c94c619945da8c8968d4a.zip
docs: spec the audio doctor's input side, one doctor per direction
The doctor never examines the microphone. diag collects default_source and default_source_present, the classifier reads neither, so a muted mic, a stale default source, and a mic the sound server can't see all classify as healthy. Chrome losing the mic this morning surfaced it: the stack was genuinely fine and the doctor had nothing useful to say. The design grew past the gap in one conversation. An empty source list is normal on a mic-less desktop and a failure on a machine that should have one, and no probe can tell those apart. The missing fact comes from the user's finger: a doctor key on each of the OUTPUTS and INPUTS section headers, where pressing the input one asserts a mic should exist. That retires the DOCTOR header key I shipped hours earlier, and it dissolves the precedence question a single classifier would have faced. A new probe tier sits below PipeWire. /proc/asound lists capture-capable cards, needs no package, spawns no process, and can't hang, so it separates "the software lost a microphone the kernel sees" from "nothing is plugged in". Push-to-talk stays as it is. It mutes the source, the one state where the server guarantees nothing is captured. A link-based push-to-talk fails open, and a crash mid-hold is a hot mic reading as muted. The doctor reads ptt.read_state() instead of guessing. Four decisions are open. Three are closed.
Diffstat (limited to 'scripts/zfs-replicate')
0 files changed, 0 insertions, 0 deletions