Skip to content

fix: restore app-server model patch on Codex 26.707+#1453

Open
WAYLON wants to merge 1 commit into
BigPizzaV3:mainfrom
WAYLON:fix/app-server-model-patch-fallback-26-707
Open

fix: restore app-server model patch on Codex 26.707+#1453
WAYLON wants to merge 1 commit into
BigPizzaV3:mainfrom
WAYLON:fix/app-server-model-patch-fallback-26-707

Conversation

@WAYLON

@WAYLON WAYLON commented Jul 11, 2026

Copy link
Copy Markdown

Summary

  • Codex desktop 26.623+ / 26.707+ no longer ships the standalone app-server-manager-signals-* asset.
  • Model whitelist unlock and plugin marketplace request patch currently hard-load that asset, fail with 未找到 Codex App asset: app-server-manager-signals-, and never patch sendRequest.
  • Keep the legacy asset lookup first, then fall back to discovering sendRequest clients from currently loaded app bundles (app-initial / app-main chunks).

Root cause

installAppServerModelRequestPatch() and installPluginMarketplaceRequestPatch() both did:

await loadCodexAppModule("app-server-manager-signals-")

On current ChatGPT/Codex app (26.707.41301 verified), that filename prefix does not exist. The client was inlined into larger bundles, so the module loader throws and the model list injection path stalls.

Changes

  • assets/inject/renderer-inject.js
    • shared loadAppServerRequestCandidates() discovery helper
    • prefer legacy asset name, then scan modulepreload/resource URLs for app bundles
    • collect nested sendRequest clients from module exports
    • use that discovery for both model whitelist and plugin marketplace request patches
    • bump model request patch version so old failed installs rebind
  • crates/codex-plus-core/tests/cdp_bridge.rs
    • assertions for fallback discovery helpers / version

Test plan

  • cargo test -p codex-plus-core --test cdp_bridge injection_script
  • cargo build -p codex-plus-launcher --release
  • Install rebuilt codex-plus-plus binary and restart Codex via Codex++
  • Confirm log shows model_app_server_request_patch_installed instead of ..._failed
  • Confirm custom models from relay modelList / catalog appear in the model selector

Notes

Related: #1324, #1210

Verified against local Codex app:

  • app: /Applications/ChatGPT.app 26.707.41301
  • old asset: missing
  • live fallback import found a sendRequest export on current app bundle

Codex desktop 26.623+/26.707 removed the standalone
app-server-manager-signals-* asset, so model whitelist and plugin
marketplace request patches failed with "未找到 Codex App asset".

Discover sendRequest clients from current app bundles as a fallback
while still trying the legacy asset name first.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant