fix(codex): reject start promise immediately on process exit during startup#1929
fix(codex): reject start promise immediately on process exit during startup#1929
Conversation
…tartup When the Codex child process exits during startup (before the 5-second timeout), the exit handler now rejects the start promise immediately with the actual exit code and signal, instead of waiting for the timeout to fire with a generic "failed to start or was killed" message. This provides more informative error messages for debugging and prevents the error from being reported to Sentry as a generic startup failure. Closes: ELECTRON-E4, ELECTRON-G1
Code Review:fix(codex): reject start promise immediately on process exit during startup (#1929)变更概述此 PR 修复了 Sentry 上的 ELECTRON-E4 和 ELECTRON-G1 问题("Codex process failed to start or was killed during startup")。在 方案评估结论:✅ 方案合理 修复精准命中根因:进程启动时退出,不再等 5 秒超时才 reject,改为在 问题清单🔵 LOW — 5 秒 setTimeout 在进程提前退出后仍会触发文件: 问题说明: 当进程以非零码退出时, 修复建议(可选):可在 Promise 内维护 汇总
结论✅ 批准合并 — 无阻塞性问题,修复逻辑正确,测试覆盖充分,仅有一个不影响功能的 LOW 级代码整洁度建议。 本报告由本地 |
|
✅ 已自动 review,无阻塞性问题,正在触发自动合并。 |
* 'main' of github.com:wuhao1477/AionUi: (40 commits) fix(agents): prevent unhandled promise rejection in bootstrap initialization (iOfficeAI#1933) fix(gemini): restore context after stopping a reply (iOfficeAI#1932) fix(codex): reject start promise immediately on process exit during startup (iOfficeAI#1929) fix(conversation): sync renamed titles with detail view (iOfficeAI#1927) fix(paste): deduplicate filenames when pasting multiple images simultaneously fix(mobile): add SafeArea support and update app icon (iOfficeAI#1926) fix(database): guard against undefined params in databaseBridge providers (iOfficeAI#1924) fix(conversation): validate type field before creating conversation (iOfficeAI#1921) fix(docs): restore wechat_group_5.png reference to wx-5.png in readme fix(snapshot): add maxBuffer to git add/commit exec calls (iOfficeAI#1914) refactor(acp): consolidate AGENT_SKILLS_DIRS into ACP_BACKENDS_ALL (iOfficeAI#1913) fix(gemini): guard against EACCES in workspace realpath during init (ELECTRON-BM) (iOfficeAI#1912) fix(channels): send raw QR ticket instead of page URL in WeChat WebUI login SSE (iOfficeAI#1910) .md format chore(pr-automation): fix missed sleep 5 in comment to sleep 10 chore(pr-automation): increase auto-merge retry delay to 10s chore(pr-automation): add 5s retry for transient GitHub mergeStateStatus UNKNOWN fix(docs): remove trailing whitespace in OfficeCLI readmes chore(pr-automation): verify auto-merge success before labeling bot:done fix(snapshot): guard against non-existent workspace in WorkspaceSnapshotService.init (iOfficeAI#1906) ...
Summary
exithandler now rejects the start promise immediately with the actual exit code and signal, instead of waiting for the 5-second timeout to fire with a generic error messageTest plan
bun run lint— 0 errorsbunx tsc --noEmit— passesbunx vitest run— all relevant tests pass (pre-existing failures in unrelatedpreviewFileWatch.dom.test.ts)