Channing Conger
8cf9a1b1f8
code-mode: fall back to using in process v8 if we fail to resolve external process ( #31899 )
...
## Why
Not every Codex distribution currently includes the
`codex-code-mode-host` companion binary. Enabling the process-host
feature should not make code mode unavailable on those surfaces while
packaging support is being completed.
## What changed
- Fall back to an in-process code-mode session only when spawning the
companion binary returns `io::ErrorKind::NotFound`.
- Keep permission, handshake, timeout, and other host failures visible
instead of silently falling back.
- Store the provider's owned-process/in-process choice as one
enum-backed state so later sessions reuse the fallback decision.
- Preserve the underlying spawn `io::Error` while retaining the host
path in the displayed error.
- Update provider, `CodeModeService`, and end-to-end coverage to verify
successful fallback execution.
## Test plan
- `just test -p codex-code-mode`
- `just test -p codex-core missing_process_host`
2026-07-09 14:40:10 -07:00
..
2026-07-08 16:24:12 -07:00
2026-06-08 13:55:15 -07:00
2026-06-08 13:55:15 -07:00
2026-06-23 14:15:20 +02:00
2026-06-15 21:53:47 -07:00
2026-07-08 16:24:12 -07:00
2026-06-26 09:12:42 -07:00
2026-07-06 10:09:54 -07:00
2026-06-25 19:00:23 +00:00
2026-07-09 02:32:10 +00:00
2026-07-09 03:40:08 +00:00
2026-07-08 16:24:12 -07:00
2026-07-07 03:49:53 +00:00
2026-07-08 15:27:04 -07:00
2026-07-09 14:40:10 -07:00
2026-07-06 10:09:54 -07:00
2026-06-08 13:55:15 -07:00
2026-07-08 15:59:36 +01:00
2026-07-08 16:24:12 -07:00
2026-06-18 11:54:49 -07:00
2026-07-08 16:24:12 -07:00
2026-06-25 19:28:50 +00:00
2026-06-19 05:35:57 -07:00
2026-07-06 19:28:44 -07:00
2026-06-18 14:09:38 +02:00
2026-07-09 12:25:19 +09:00
2026-07-07 17:43:19 -07:00
2026-06-23 10:23:25 -04:00
2026-07-06 13:23:01 -07:00
2026-06-24 19:51:51 -07:00
2026-06-23 14:27:13 -07:00
2026-06-22 16:45:14 -07:00
2026-07-09 12:25:19 +09:00
2026-06-08 13:55:15 -07:00
2026-06-15 21:53:47 -07:00
2026-07-07 11:48:27 -07:00
2026-07-09 16:51:44 +00:00
2026-06-26 00:53:07 +01:00
2026-07-06 14:29:19 -07:00
2026-07-07 13:13:59 -04:00
2026-07-08 21:46:11 -04:00
2026-05-18 21:03:51 -07:00
2026-07-09 12:25:19 +09:00
2026-07-09 12:25:19 +09:00
2026-07-08 16:24:12 -07:00
2026-07-09 02:32:10 +00:00
2026-06-08 13:55:15 -07:00
2026-07-02 18:44:34 -07:00
2026-07-06 14:51:34 -07:00
2026-07-09 14:32:23 -07:00
2026-07-06 10:09:54 -07:00
2026-06-08 13:55:15 -07:00
2026-06-24 17:49:00 -07:00
2026-07-07 10:52:38 -07:00
2026-06-26 09:12:42 -07:00
2026-07-09 02:32:10 +00:00
2026-07-06 14:29:19 -07:00
2026-06-22 16:45:14 -07:00
2026-06-22 16:45:14 -07:00
2026-06-08 13:55:15 -07:00
2026-07-06 14:12:54 -07:00
2026-06-24 22:57:42 -07:00
2026-07-09 02:32:10 +00:00
2026-06-08 13:55:15 -07:00
2026-06-15 21:53:47 -07:00
2026-06-16 20:45:57 +00:00
2026-06-24 21:29:11 +00:00
2026-06-15 21:53:47 -07:00
2026-06-08 13:55:15 -07:00
2026-07-09 12:25:19 +09:00
2026-07-09 00:58:28 +00:00
2026-07-08 16:24:12 -07:00
2026-07-08 09:59:50 -07:00
2026-07-09 03:40:08 +00:00
2026-07-08 16:10:28 +01:00
2026-06-23 17:23:38 -07:00
2026-07-06 17:04:26 +00:00
2026-07-08 16:24:12 -07:00
2026-06-28 20:34:47 -07:00
2026-06-23 14:27:13 -07:00
2026-06-23 14:27:13 -07:00
2026-06-15 21:53:47 -07:00
2026-06-08 13:55:15 -07:00
2026-06-23 21:45:06 +00:00
2026-07-09 02:32:10 +00:00
2026-06-26 09:12:42 -07:00
2026-06-08 13:55:15 -07:00
2026-06-08 13:55:15 -07:00
2026-07-08 16:24:12 -07:00
2026-06-24 19:51:51 -07:00
2026-06-15 21:53:47 -07:00
2026-06-15 21:53:47 -07:00
2026-06-27 09:54:56 -07:00
2026-06-24 19:51:51 -07:00
2026-06-15 21:53:47 -07:00
2026-07-09 09:54:24 +01:00
2026-06-08 13:55:15 -07:00
2026-06-24 05:23:29 +00:00
2026-06-18 16:13:07 -07:00
2026-06-08 13:55:15 -07:00
2026-06-16 10:37:06 -07:00
2026-07-08 16:24:12 -07:00
2026-07-08 16:24:12 -07:00
2026-06-08 13:55:15 -07:00
2026-06-15 21:53:47 -07:00
2026-06-18 14:09:38 +02:00