feat: support OpenAI Remote session identity - #1891
Open
Rat0323 wants to merge 1 commit into
Open
Conversation
Rat0323
marked this pull request as ready for review
August 18, 2026 19:30
Rat0323
force-pushed
the
feat/openai-remote-session-provider
branch
from
August 18, 2026 19:44
fb77cc2 to
1244d96
Compare
Rat0323
force-pushed
the
feat/openai-remote-session-provider
branch
from
August 18, 2026 19:53
1244d96 to
176b8eb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
customoropenai.[model_providers.custom]while writingmodel_provider = "openai"for ChatGPT Remote compatibility.openai_base_urlautomatically for OpenAI session identity and require the Responses API.customsession identity.Root cause
ChatGPT Remote-created sessions are identified by
model_provider = "openai". When Codex++ routes through a custom provider, the active conversation remains usable, but a session created from ChatGPT Remote may not remain visible in the mobile session list. The relay transport and the Remote-facing session identity therefore need to be configured independently.This change uses
openaionly as the session identity. The actual relay still uses the existingcustomprovider table, so Codex++ keeps control of the relay URL, token, protocol, and aggregate routing.Relationship to #1789
#1789 is not reverted by this PR. It repairs phone-created sessions for existing official-mix profiles that continue to use a non-OpenAI/custom session identity. That is a compatibility fallback, not the preferred path for full ChatGPT Remote behavior.
When an active profile uses OpenAI session identity, the recovery trigger and provider override are disabled. If the same profile still has an exact pending #1789 recovery created before the switch, Codex++ consumes that request without rewriting the rollout or SQLite provider back to
custom. Unrelated or inactive-profile pending requests retain #1789's existing deferred behavior.Compatibility
customsession identity.Validation
npm run checknpm test(65 passed)node --check assets/inject/renderer-inject.jscargo test -p codex-plus-data --test provider_sync -- --test-threads=1(39 passed)cargo test -p codex-plus-core --test relay_config -- --test-threads=1(123 passed)cargo test -p codex-plus-core --test cdp_bridge -- --test-threads=1(109 passed)cargo test -p codex-plus-manager --lib -- --test-threads=1(55 passed)The current machine does not have the MSVC C++ toolchain, so the complete Windows Rust build is verified by GitHub Actions.
cargo fmt --all -- --checkstill reports pre-existing formatting differences in unrelated repository files; this PR does not reformat or include those files.git diff --checkpasses for the submitted commit.