Continue a chat after the terminal agent exits (#33759)

* fix(native-chat): a chat sends again once the terminal's agent exits on macOS

The terminal-writer check required the pane's root process to be a shell,
but macOS panes spawn under login(1), which stays as the shell's parent,
so the check refused every send until the terminal closed. Census the
shell login started instead.

* Reconcile current terminal writer evidence before continuation

* Share fresh foreground confirmation and prove hosted login census

* Restore shell process identity import in foreground tracker

* Correct process fixture identity and polling callback contracts

* Align decisive Windows inspection fixture expectations

* Complete foreground inspection Session fixture
This commit is contained in:
Brennan Benson
2026-10-26 13:47:20 -07:00
committed by GitHub
parent 1df8501246
commit 5709037f4c
17 changed files with 834 additions and 75 deletions
+10 -1
View File
@@ -15,6 +15,10 @@ on:
- 'src/main/window/main-window-state-lifecycle*'
- 'src/main/window/dashboard-popout-window*'
- 'src/packages/process-host/**'
- 'src/main/runtime/structured-agent-cli-writers*'
- 'src/main/providers/macos-tcc-login-shell*'
- 'src/shared/process-table-snapshot*'
- 'src/shared/darwin-process-table-capture*'
- 'src/shared/update-status-types.ts'
- 'pnpm-lock.yaml'
workflow_dispatch:
@@ -29,7 +33,7 @@ concurrency:
jobs:
updater:
if: github.event_name != 'pull_request' || github.event.pull_request.draft != true
runs-on: blacksmith-6vcpu-macos-15
runs-on: macos-15
timeout-minutes: 20
steps:
- uses: actions/checkout@v6
@@ -55,3 +59,8 @@ jobs:
src/main/startup/main-process-quit-update-veto.test.ts
src/main/window/main-window-state-lifecycle.test.ts
src/main/window/dashboard-popout-window.test.ts
- name: Prove login-backed terminal writer census on the disposable runner
env:
ORCA_MACOS_LOGIN_CENSUS_CI: '1'
ORCA_BACKGROUND_LAUNCH: '1'
run: pnpm exec vitest run --config config/vitest.config.ts src/main/runtime/structured-agent-cli-writers.test.ts