fix(oauth): list ChatGPT models as Codex CLI 0.160.0 - #760
Conversation
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
🟢 e2e web: 90 passedAll 90 tests in 41 files
e2e 0.15.2 · 1m 52s · web · run artifacts |
🟢 e2e web agent: 32 passed33 agent steps · 25 replayed from cache · 19 model calls · 71.7k tokens (92% cached) · $0.0033 All 32 tests in 5 files
e2e 0.15.2 · 2m 47s · web · run artifacts |
🟢 e2e android: 54 passed, 1 skippedAll 55 tests in 7 files
e2e 0.15.2 · 7m 56s · android-emulator · run artifacts |
🟢 e2e android agent: 20 passed24 agent steps · 110 model calls · 593.0k tokens (84% cached) · $0.0377 All 20 tests in 1 file
e2e 0.15.2 · 8m 42s · android-emulator · run artifacts |
🟢 e2e ios: 1 flaky, 51 passed, 1 skipped
|
| Test | Time | |
|---|---|---|
| tests/controls.e2e.ts · 1 flaky, 22 passed, 1 skipped | 5m 23s | |
| 🟢 | control inventory › a label query resolves a labeled text field | 35.7s |
| 🟢 | control inventory › a labeled field answers name, display value, value reads, fill, and clear | 29.8s |
| 🟢 | control inventory › a placeholder query and attribute reads find the field | 7.7s |
| 🟢 | control inventory › a secure field takes a fill and denies value reads | 13.4s |
| 🟢 | control inventory › press sends a character and Enter through the soft keyboard | 14.0s |
| 🟢 | control inventory › a field autofocuses on mount and focus() moves the focus | 20.2s |
| control inventory › toBeFocused follows the focus (2 failed attempts first) | 14.4s | |
| 🟢 | control inventory › a switch checks, unchecks, and reports its state | 16.1s |
| 🟢 | control inventory › checkbox and radio roles answer getByRole, and a checkbox toggles by tap | 13.3s |
| 🟢 | control inventory › checkbox and radio roles check, uncheck, and report their state | 20.5s |
| 🟢 | control inventory › a radio group reports the checked option | 14.7s |
| 🟢 | control inventory › buttons report disabled, enabled, and a state that arrives later | 12.4s |
| 🟢 | control inventory › a display: none element is absent rather than hidden, its visible twin attached | 12.5s |
| 🟢 | control inventory › a header answers its accessible name | 8.3s |
| 🟢 | control inventory › a tab row answers count, all, texts, filters, positions, and switching | 12.0s |
| 🟢 | control inventory › a list answers counts, list-form text, reads, and boxes in order | 12.8s |
| ⏭️ | control inventory › a row contains its texts (skipped: React Native flattens a plain View out of the accessibility tree on both platforms: XCTest and the Android helper report a View with a testID as a leaf beside its children, so filter({ has }) and a query scoped to it match nothing; only Sc…) | |
| 🟢 | control inventory › a long press lands as one | 12.7s |
| 🟢 | control inventory › pointer verbs land at the point asked for | 17.9s |
| 🟢 | control inventory › an ambiguous locator fails at once | 9.9s |
| 🟢 | control inventory › screenshot, restart, and clearState reopen the app on its home list | 22.4s |
| 🟢 | refusals › verbs a device never declares are refused before the engine | 6ms |
| 🟢 | refusals › keys the soft keyboard cannot send are refused by the engine | 633ms |
| 🟢 | refusals › a missing locator fails as not found once its timeout passes | 1.2s |
| 🟢 | tests/device-fixture.e2e.ts · 9 passed | 2m 33s |
| 🟢 | device fixture › setAppearance flips the color scheme the app reads | 26.9s |
| 🟢 | device fixture › setOrientation rotates the window the app measures | 11.4s |
| 🟢 | device fixture › the clipboard reads back what was written | 10.0s |
| 🟢 | device fixture › home leaves the app, openApp brings it back where it was | 10.6s |
| 🟢 | device fixture › closeApp then openApp relaunches on the home list | 14.8s |
| 🟢 | device fixture › foregroundApp after closeApp reports the closed session as APP_NOT_OPEN | 12.4s |
| 🟢 | device fixture › device.back pops the scenario | 11.4s |
| 🟢 | device fixture › setLocation and clearLocation change what the app reads | 28.1s |
| 🟢 | device fixture › enrollBiometrics and setBiometrics answer a biometric prompt | 27.7s |
| 🟢 | tests/device.e2e.ts · 2 passed | 1m 15s |
| 🟢 | sequential onboarding echoes the exact values | 54.3s |
| 🟢 | onboarding rejects a malformed email before advancing | 20.8s |
| 🟢 | tests/flows-lists.e2e.ts · 7 passed | 5m 28s |
| 🟢 | infinite scroll reaches the target item | 43.4s |
| 🟢 | product catalog adds exactly two of the right variant | 15.9s |
| 🟢 | gestures: long-press, then swipe left | 13.4s |
| 🟢 | sticky chrome: accept below the fold, then continue | 17.8s |
| 🟢 | async states: load, pull to refresh, claim through the toast | 17.0s |
| 🟢 | huge virtualized list reaches row 512 | 3m 25s |
| 🟢 | web view coupon form applies the code shown on the page | 15.1s |
| 🟢 | tests/flows.e2e.ts · 7 passed | 1m 48s |
| 🟢 | text inputs unlock the submit button | 27.5s |
| 🟢 | filled text inputs report their values | 16.5s |
| 🟢 | modal flow confirms through the native alert | 12.1s |
| 🟢 | bottom tabs act inside the last tab | 11.0s |
| 🟢 | error recovery retries, then confirms the delete | 13.2s |
| 🟢 | choice controls place the exact order | 12.4s |
| 🟢 | debounced search selects the target once results arrive | 15.0s |
| 🟢 | tests/login-form.e2e.ts · 3 passed | 1m 8s |
| 🟢 | login form › rejects a malformed email | 16.7s |
| 🟢 | login form › rejects an unknown account | 19.3s |
| 🟢 | login form › signs in and logs out | 32.1s |
| 🟢 | tests/smoke.e2e.ts · 1 passed | 16.3s |
| 🟢 | home lists the scenarios and opens one | 16.3s |
e2e 0.15.2 · 9m 36s · ios-simulator · run artifacts
🔴 e2e ios agent: 1 failed, 20 passed, 1 skipped25 agent steps · 136 model calls · 148.9k tokens (82% cached) · $0.0112 🔴 act completes Gestures ASSERTION_FAILED at step 4 of 4:
Evidence: screenshot, log All 22 tests in 1 file
e2e 0.15.2 · 19m 38s · ios-simulator · run artifacts |
Closes #752.
What and why
listCodexModelssendsclient_versionto the ChatGPT backend's/models, and the backend leaves out models newer than that client. The constant was0.155.1; the current@openai/codexon npm is0.160.0, soe2e models openaimissed models newer Codex CLIs already see.CODEX_CLIENT_VERSIONinpackages/e2e/src/oauth/providers/openai.tsto0.160.0. Nothing else reads it.Verified
Ran it locally: no - needs a ChatGPT login, which this environment does not have.
npm view @openai/codex versionreturns0.160.0;tests/unit/oauthpasses (it pins theclient_versionformat, not the value).Checklist
pnpm changeset) for any change to a published package, or the change is testbed, docs, or CI only.!, the changeset body names what breaks and what replaces it, and the deprecation warning landed a window earlier (stability policy in CONTRIBUTING.md).docs/**/*.mdxpage for the behavior, andskills/e2e/if the skill describes it..d.tsreviewed,tests/types/sdk-types.tsupdated; wire change edits the schema and both fixtures.e2e/engine): changesets fore2e,@e2e-dev/web, and@e2e-dev/mobile.Link to Devin session: https://app.devin.ai/sessions/10c70735b1d647a0913672025b846b61
Open in Devin Desktop: https://app.devin.ai/desktop/session/10c70735b1d647a0913672025b846b61?variant=devin
Requested by: @okwasniewski