Brennan Benson
84996bdebc
fix(codex): survive lingering Windows codex login processes in add-account
...
On Windows, codex login can keep running (with descendants) after it has
written auth.json, holding OS handles on the per-account managed home
(log/codex-login.log). That made doAddAccount's post-login cleanup fail
with ENOTEMPTY (rmSync) and left an orphaned codex-accounts/<id>/home.
- runCodexLogin now watches for auth.json on Windows and force-kills the
login process tree (taskkill /t) if it lingers past a short grace
period; the forced exit is treated as a successful login. The 120s
timeout path also kills the whole tree instead of only the direct
child. macOS/Linux behavior is unchanged.
- safeRemoveManagedHome now removes homes with rmSync maxRetries /
retryDelay (mirroring the local-worktree-filesystem Windows policy)
and no longer lets a cleanup failure mask the original add error.
- run-codex-real-account-validation.mjs accepts --temp-parent /
ORCA_CODEX_VALIDATION_TEMP_PARENT so the disposable root can live
outside %USERPROFILE% on Windows, and fails with an actionable message
before creating anything when the temp parent is inside the primary
home. The real-home guard is unchanged.
2026-07-18 23:30:55 -07:00
..
2026-07-10 19:08:12 -07:00
2026-07-17 13:26:28 -07:00
2026-07-12 23:43:07 -07:00
2026-06-22 19:13:32 -07:00
2026-07-12 23:43:07 -07:00
2026-06-09 15:59:17 -07:00
2026-06-29 23:37:30 -07:00
2026-07-12 02:13:41 -07:00
2026-07-08 22:21:40 -07:00
2026-07-12 21:34:59 -07:00
2026-07-13 18:58:21 -07:00
2026-07-15 13:26:42 -07:00
2026-06-29 23:37:30 -07:00
2026-07-06 17:12:27 -07:00
2026-07-06 17:12:27 -07:00
2026-07-03 22:32:11 -07:00
2026-07-03 19:58:07 -07:00
2026-05-20 10:38:23 -07:00
2026-06-03 16:59:02 -04:00
2026-07-13 00:48:51 -07:00
2026-07-13 00:48:51 -07:00
2026-06-09 15:59:17 -07:00
2026-07-17 14:35:01 -07:00
2026-07-17 19:31:30 -07:00
2026-07-17 13:47:06 -07:00
2026-06-22 19:13:32 -07:00
2026-07-10 13:50:38 -07:00
2026-07-11 22:50:30 -07:00
2026-06-07 17:49:01 -07:00
2026-06-07 17:49:01 -07:00
2026-07-03 20:53:16 -07:00
2026-07-03 20:53:16 -07:00
2026-07-08 19:46:14 -04:00
2026-06-02 11:49:00 -07:00
2026-07-16 14:47:28 -07:00
2026-07-12 02:13:41 -07:00
2026-07-12 02:13:41 -07:00
2026-07-10 01:17:55 -07:00
2026-07-10 01:17:55 -07:00
2026-06-05 01:15:54 -07:00
2026-07-14 02:17:55 -07:00
2026-07-14 02:17:55 -07:00
2026-07-16 20:02:01 -07:00
2026-07-16 20:02:01 -07:00
2026-07-10 17:27:47 -07:00
2026-07-10 17:27:47 -07:00
2026-07-12 23:43:07 -07:00
2026-06-28 21:16:02 -07:00
2026-06-15 12:56:22 -07:00
2026-06-29 23:37:30 -07:00
2026-06-29 23:37:30 -07:00
2026-05-30 13:26:48 -07:00
2026-06-03 23:42:33 -07:00
2026-06-04 16:11:51 -04:00
2026-06-03 12:48:00 -07:00
2026-06-28 19:43:18 -07:00
2026-06-28 19:43:18 -07:00
2026-06-28 19:43:18 -07:00
2026-06-18 21:26:12 -07:00
2026-06-19 15:52:05 -07:00
2026-06-17 15:14:35 -07:00
2026-06-17 19:21:42 -07:00
2026-06-19 15:52:05 -07:00
2026-06-21 21:23:36 -07:00
2026-07-04 14:43:57 -07:00
2026-06-29 23:37:30 -07:00
2026-06-19 15:52:05 -07:00
2026-06-09 15:59:17 -07:00
2026-06-09 15:59:17 -07:00
2026-06-19 17:14:55 -07:00
2026-06-29 11:56:26 -07:00
2026-06-17 15:14:35 -07:00
2026-06-17 15:14:35 -07:00
2026-06-19 15:52:05 -07:00
2026-06-29 11:56:26 -07:00
2026-06-10 19:24:16 -07:00
2026-06-17 15:14:35 -07:00
2026-07-12 23:43:07 -07:00
2026-06-19 15:52:05 -07:00
2026-06-16 10:41:50 -07:00
2026-06-17 15:14:35 -07:00
2026-06-09 15:59:17 -07:00
2026-06-16 10:41:50 -07:00
2026-07-10 19:08:12 -07:00
2026-06-02 21:15:00 -07:00
2026-05-28 20:41:10 -04:00
2026-06-28 21:19:10 -07:00
2026-06-28 23:40:55 -07:00
2026-06-22 01:07:16 -07:00
2026-06-22 01:07:16 -07:00
2026-07-14 02:17:55 -07:00
2026-05-15 05:44:25 -04:00
2026-06-17 16:08:14 -07:00
2026-06-29 23:37:30 -07:00
2026-06-29 23:37:30 -07:00
2026-07-12 17:39:18 -07:00
2026-07-16 20:02:01 -07:00
2026-05-30 13:09:17 -07:00
2026-05-30 21:46:13 -07:00
2026-05-30 21:46:13 -07:00
2026-07-10 01:17:55 -07:00
2026-07-10 01:17:55 -07:00
2026-07-12 21:34:59 -07:00
2026-06-30 16:36:59 -07:00
2026-07-10 17:27:47 -07:00
2026-05-30 21:46:13 -07:00
2026-07-12 23:43:07 -07:00
2026-07-02 18:41:23 -04:00
2026-07-18 23:30:55 -07:00
2026-07-18 23:30:55 -07:00
2026-06-22 01:07:16 -07:00
2026-07-08 22:21:40 -07:00
2026-07-17 13:26:28 -07:00
2026-06-29 23:37:30 -07:00
2026-05-16 17:44:42 -04:00
2026-07-10 17:27:47 -07:00
2026-06-30 16:36:59 -07:00
2026-06-22 16:42:20 -07:00
2026-06-07 04:15:26 -07:00
2026-07-12 23:50:00 -07:00
2026-06-07 11:01:02 -07:00
2026-07-10 17:27:47 -07:00
2026-07-10 17:27:47 -07:00
2026-06-22 01:07:16 -07:00
2026-07-12 18:15:15 -07:00
2026-07-15 15:23:35 -07:00
2026-07-17 13:26:28 -07:00
2026-07-12 02:13:41 -07:00
2026-07-10 17:27:47 -07:00
2026-06-22 19:13:32 -07:00
2026-06-29 22:38:29 -07:00
2026-06-22 19:13:32 -07:00
2026-06-22 19:13:32 -07:00
2026-07-10 17:27:47 -07:00
2026-06-29 23:37:30 -07:00
2026-06-29 23:37:30 -07:00
2026-06-29 23:37:30 -07:00
2026-07-13 00:26:22 -07:00
2026-06-28 22:58:27 -07:00
2026-06-28 22:58:27 -07:00
2026-06-07 17:49:01 -07:00
2026-07-17 13:26:28 -07:00
2026-07-12 23:43:07 -07:00
2026-07-12 23:43:07 -07:00
2026-06-29 23:37:30 -07:00
2026-04-09 12:28:52 -07:00
2026-07-09 16:09:09 -07:00
2026-07-09 16:09:09 -07:00
2026-07-05 23:56:37 -07:00
2026-06-22 01:07:16 -07:00
2026-07-16 14:47:28 -07:00
2026-06-29 23:37:30 -07:00
2026-06-29 22:38:29 -07:00
2026-07-02 12:11:58 -07:00
2026-07-02 12:11:58 -07:00
2026-07-10 13:50:38 -07:00
2026-06-09 10:43:04 -07:00