fix(proxy): recover Codex sessions across bridge lineage changes - #1549
fix(proxy): recover Codex sessions across bridge lineage changes#1549ret2basic wants to merge 4 commits into
Conversation
|
To use Codex here, create an environment for this repo. |
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| - | - | Basic Auth String | b3aa134 | tests/unit/test_proxy_websocket_client.py | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
|
This was a serious piece of work, but the ground moved under it. The design.md positions this as the no-schema alternative to #1394 ("does not import PR #1394's retry-circuit, replay policy, new schema, or migration surface") — and #1394 has now merged (a66f793, 08-04). Main resolves the same anchor re-injection loop via durable recovery-attempt claims + retry circuits + durable full-resend recovery (app/modules/proxy/_service/http_bridge/streaming.py Two things worth carrying forward:
Minor: GitGuardian flags a hardcoded basic-auth string in tests/unit/test_proxy_websocket_client.py (b3aa134, ~L374) — use an obviously-dummy placeholder in any re-file. |
|
Closing per maintainer decision: the owner merged #1394 on 08-04, which settles the design competition this PR was built as an alternative to (see analysis above). The encrypted-compaction same-account recovery slice is genuinely uncovered on main and would be welcome as a small standalone PR on the post-#1394 base. |
Summary
Recover Codex HTTP-bridge sessions after Escape/downstream cancellation, stale connection-local anchors, and upstream encrypted compaction. The fix quarantines dead
store=falselineage before socket retirement and admits exact encrypted compaction only on its durable owner account.Type of change
fix:— bug fix (no behavior change beyond the bug)Linked issue: none filed; this covers production Codex session reports ending in
ebb7and the Escape reconnect failure.OpenSpec
Change directory:
openspec/changes/recover-codex-desktop-idle-bridge/The encrypted
compactionitem is forwarded unchanged. No intentional upstream wire-format divergence is introduced.Changes
store=falseanchor when downstream Escape cancellation retires the upstream socket, with lifecycle locking through durable quarantine and socket retirement.continuity_requires_full_resenderrors.Simplicity
No new setting, environment variable, dependency, migration, README section, dashboard navigation item, required setup step, or default change.
Test plan
Screenshots / output
No dashboard-visible change.
Post-deploy verification:
{"status":"ok"} {"status":"ok","checks":{"database":"ok"}}Checklist
openspec validate --specs --strictpasses.CHANGELOG.mdis not edited.Cloud CI and current-head
@codex reviewremain required before merge. This PR must not be self-merged.