Files
orca/config/scripts/workflow/source-routing/pr-shell-contract-prefixes.mjs
T
Neil 47e8985117 fix(serve): keep orca serve running while it probes the login shell (#38515)
* fix(serve): keep `orca serve` running while it probes the login shell

`orca serve` started from an interactive terminal stopped itself ("[1]+
Stopped") before printing its pairing link. orcad inherits the terminal
and probes the login shell with `$SHELL -ilc`; an interactive bash 5 or
zsh takes the terminal's foreground job, so orcad's next terminal access
raised SIGTTOU/SIGTTIN. Give both shell probes (login environment and
PATH) a POSIX session of their own so they never hold a controlling
terminal. Windows keeps attached spawns, where `detached` would open a
console.

Refs #38347

* fix(serve): end a detached shell probe with its owner and on timeout

A probe in its own session no longer receives the terminal's Ctrl+C or
hangup, so a hung rc could outlive `orca serve`. Kill the probe's process
group by its own pid when it times out and when its owner exits while it
still runs; orcad and Electron turn INT/TERM into an exit, so a Ctrl+C
reaches it that way. No signal listeners: one would replace Electron's
graceful signal quit. The timeout now also ends what the rc started, not
just the shell.

Refs #38347
2026-11-05 16:28:20 -08:00

34 lines
1.7 KiB
JavaScript

// Files whose edits run the real-shell contracts job (shell_contracts in pr.yml).
export const SHELL_PREFIXES = [
'src/main/daemon/shell-readiness/testing/repro-13767-shell-ready-marker-lost-to-exec.test.ts',
'src/main/daemon/shell-readiness/shell-ready.ts',
'src/main/daemon/shell-readiness/testing/shell-ready-bash-wrapper.test.ts',
'src/main/daemon/shell-readiness/testing/shell-ready.test.ts',
'src/main/daemon/shell-readiness/daemon-bash-shell-ready-rcfile.ts',
'src/main/daemon/shell-readiness/daemon-shell-ready-wrapper-fileset.ts',
'src/main/daemon/pty-subprocess/testing/node-pty-fd-leak.test.ts',
'src/main/providers/local-pty/local-pty-shell-ready',
'src/main/pty/',
'src/main/runtime/agent-session/environment/structured-session-cli-login-shell',
'src/main/runtime/agent-session/environment/structured-session-login-shell-test-harness',
'src/main/runtime/agent-session/environment/structured-session-child-env',
'src/main/startup/shell-probe-terminal-detach',
'src/main/startup/shell-probe-lifetime',
'src/main/startup/hydrate-shell-path',
'src/main/startup/login-shell-environment',
'src/main/startup/shell-path-probe',
'src/renderer/src/components/terminal-pane/fish-color-scheme',
'src/shared/fish-',
'src/shared/terminal/pty/ingress/pty-reply-echo-shapes',
'src/shared/startup-shell-portability',
'src/shared/posix-command-path-lookup',
'src/main/wsl/filesystem/wsl-shell-cwd-report',
'src/main/wsl/filesystem/wsl-sh-cwd-report',
'src/shared/wsl-login-shell-command',
'config/patches/node-pty@',
'config/scripts/ensure-native-runtime',
'config/scripts/native-build/node-addons/ensure-native-runtime',
'config/scripts/node-pty-job-ownership',
'config/scripts/native-build/node-addons/node-pty-job-ownership'
]