Skip to content

fix: Windows Store Codex support - AUMID, process lifecycle, protocol proxy robustness#613

Open
congxb wants to merge 1 commit into
BigPizzaV3:mainfrom
congxb:fix/windows-store-codex-full
Open

fix: Windows Store Codex support - AUMID, process lifecycle, protocol proxy robustness#613
congxb wants to merge 1 commit into
BigPizzaV3:mainfrom
congxb:fix/windows-store-codex-full

Conversation

@congxb

@congxb congxb commented Jun 4, 2026

Copy link
Copy Markdown

Summary

Fixes 4 issues that prevent CodexPlusPlus from working with the Windows Store (MSIX) version of Codex...

Changes

Fix 1: Correct AUMID generation (app_paths.rs)

packaged_app_user_model_id() incorrectly stripped version/architecture from MSIX package name.

Fix 2: Graceful fallback on activation failure (launcher.rs)

When AUMID activation fails, fall back to direct Codex.exe execution.

Fix 3: HTTP client timeout config (http_client.rs)

proxied_client() had no timeout/keepalive/pool config. Streaming SSE over 30s would timeout.

Fix 4: Protocol proxy base_url fallback (protocol_proxy.rs)

Added relay_base_url() helper that falls back to upstreamBaseUrl when base_url is empty.
Also switched open_chat_completions_proxy_request to proxied_client().

Fix 5: Process lifecycle - CDP health monitor (main.rs + launcher.rs)

Codex.exe is a broker - wait_for_codex_exit() returns immediately AND shuts down Helper.
Fix: restart Helper after wait, enter CDP health-check loop.

Fix 6: Robust error handling (launcher.rs)

Catch-all blocks in proxy handlers write 500 responses instead of closing TCP connection.

Files Changed

  • crates/codex-plus-core/src/app_paths.rs - AUMID fix
  • crates/codex-plus-core/src/http_client.rs - Timeout config
  • crates/codex-plus-core/src/protocol_proxy.rs - relay_base_url() fallback
  • crates/codex-plus-core/src/launcher.rs - Error catch-all
  • apps/codex-plus-launcher/src/main.rs - Helper restart + CDP loop

Tested on: Windows 11 Pro 10.0.26200 with Codex OpenAI.Codex_26.601.2237.0_x64__2p2nqsd0c76g0

… proxy robustness

- Fix AUMID generation for MSIX packages (use PackageFullName!App instead of reconstructing)
- Add graceful fallback to direct Codex.exe execution on packaged activation failure
- Configure HTTP client timeout/keepalive/pool for streaming SSE responses
- Add relay_base_url() fallback from upstreamBaseUrl in protocol proxy
- Add process lifecycle CDP health monitor to prevent early process exit
- Add robust error handling with catch-all blocks in proxy handlers
- Restart Helper after wait_for_codex_exit shuts it down
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