This fixes https://github.com/openai/codex/issues/480 where the latest code was crashing when attempting to be run inside docker since the update checker attempts to reach out to `npm.antfu.dev` but that DNS is not allowed in the firewall rules. I believe the original code was attempting to catch and ignore any errors when checking for updates but was doing so incorrectly. If you use await on a promise, you have to use a standard try/catch instead of `Promise.catch` so this fixes that. ## Testing ### Before ``` $ scripts/run_in_container.sh "explain this project to me" 7d1aa845edf9a36fe4d5b331474b5cb8ba79537b682922b554ea677f14996c6b Resolving api.openai.com... Adding 162.159.140.245 for api.openai.com Adding 172.66.0.243 for api.openai.com Host network detected as: 172.17.0.0/24 Firewall configuration complete Verifying firewall rules... Firewall verification passed - unable to reach https://example.com as expected Firewall verification passed - able to reach https://api.openai.com as expected TypeError: fetch failed at node:internal/deps/undici/undici:13510:13 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async getLatestVersionBatch (file:///usr/local/share/npm-global/lib/node_modules/@openai/codex/dist/cli.js:132669:17) at async getLatestVersion (file:///usr/local/share/npm-global/lib/node_modules/@openai/codex/dist/cli.js:132674:19) at async getUpdateCheckInfo (file:///usr/local/share/npm-global/lib/node_modules/@openai/codex/dist/cli.js:132748:20) at async checkForUpdates (file:///usr/local/share/npm-global/lib/node_modules/@openai/codex/dist/cli.js:132772:23) at async file:///usr/local/share/npm-global/lib/node_modules/@openai/codex/dist/cli.js:142027:1 { [cause]: AggregateError [ECONNREFUSED]: at internalConnectMultiple (node:net:1122:18) at afterConnectMultiple (node:net:1689:7) { code: 'ECONNREFUSED', [errors]: [ [Error], [Error] ] } } ``` ### After ``` $ scripts/run_in_container.sh "explain this project to me" 91aa716e3d3f86c9cf6013dd567be31b2c44eb5d7ab184d55ef498731020bb8d Resolving api.openai.com... Adding 162.159.140.245 for api.openai.com Adding 172.66.0.243 for api.openai.com Host network detected as: 172.17.0.0/24 Firewall configuration complete Verifying firewall rules... Firewall verification passed - unable to reach https://example.com as expected Firewall verification passed - able to reach https://api.openai.com as expected ╭──────────────────────────────────────────────────────────────╮ │ ● OpenAI Codex (research preview) v0.1.2504221401 │ ╰──────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────╮ │ localhost session: 7c782f196ae04503866e39f071e26a69 │ │ ↳ model: o4-mini │ │ ↳ provider: openai │ │ ↳ approval: full-auto │ ╰──────────────────────────────────────────────────────────────╯ user explain this project to me ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │( ● ) 2s Thinking │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ send q or ctrl+c to exit | send "/clear" to reset | send "/help" for commands | press enter to send | shift+enter for new line — 100% context left ``` |
||
|---|---|---|
| .. | ||
| bin | ||
| examples | ||
| scripts | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .editorconfig | ||
| .eslintrc.cjs | ||
| build.mjs | ||
| Dockerfile | ||
| HUSKY.md | ||
| ignore-react-devtools-plugin.js | ||
| package.json | ||
| require-shim.js | ||
| tsconfig.json | ||
| vite.config.ts | ||