diff --git a/recorder.luau b/recorder.luau index fa16102..a492955 100644 --- a/recorder.luau +++ b/recorder.luau @@ -107,8 +107,11 @@ local function buildRecordCmd() end local inner = table.concat(parts, " ") -- pty wrapper: `script -e` propagates ostt's exit code, which the wrapper - -- persists for the monitor service to report. - return "script -qec " .. shq(inner) .. " /dev/null >/dev/null 2>&1; echo $? > " .. shq(exitFile) + -- persists for the monitor service to report. SHELL=/bin/sh is REQUIRED: + -- script(1) runs the command via $SHELL, and fish probes the terminal on + -- startup — those handshake bytes reach ostt's TUI as a phantom Space + -- keypress, pausing the recording instantly (zero samples captured). + return "SHELL=/bin/sh script -qec " .. shq(inner) .. " /dev/null /dev/null 2>&1; echo $? > " .. shq(exitFile) end local function startRecording()