Skip to content

feat: add Codex session links, responsive drawers, and safer deployment cleanup - #55

Merged
muggle-stack merged 13 commits into
masterfrom
feat/codex-session-messages
Oct 5, 2026
Merged

muggle-stack merged 13 commits into
masterfrom
feat/codex-session-messages

Conversation

@muggle-stack

@muggle-stack muggle-stack commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Native Codex cross-session messages now show their source conversation and delivery outcome, with scoped read-only history links. This also improves mobile drawer interaction and fixes stale session state, model selection, and deployment cleanup failures.

Changes

  • Preserve native message and source IDs across live events, steering, history, and browser caches. Source/recipient previews stay within the current device and account and preserve the original reading position.
  • Add a gesture-driven mobile drawer with rounded foreground content, theme-aware shading, optional opening feedback, and interruptible animations for repeated swipes. Restore saved desktop side-panel widths before paint to avoid BTW layout jumps.
  • Preserve Claude continuation ordering after summary refresh and sample resident activity after catalog reads so late responses cannot restore stale running state. Preserve Codex's native model selection on resume, including settings after oversized rollout records.
  • Add journaled deployment cleanup with reviewed inventories, process and symlink dependency checks, quarantine, and acceptance before removal. Retain the current release, one complete rollback generation, and every live dependency; defer cleanup when visibility or provenance is incomplete. Start Codex lifecycle commands from a stable home and add live configuration-read acceptance.

Validation

The complete local gate passed against the unchanged source committed at 7d4a30e:

  • Python: 5342 passed, 4 platform skips.
  • Ruff 0.15.13: passed.
  • Node 24: Web build, reliability suite, and lint passed.
  • Installer Bash syntax, ShellCheck, and Git diff checks passed.

No live model prompts were sent. Native App/MCP cross-session delivery and physical iOS haptics remain separate acceptance checks; no new Playwright run was performed for this PR.

Cleanup regression coverage

Retained candidates now contribute their entire dependency tree during single-candidate rescans and when a symlink references only a child directory. Five added retention regressions failed before the fix and pass now, including reverse candidate ordering and cyclic dependencies.

The Ubuntu CI failure was caused by real scans encountering restricted same-user /proc entries. Production scanning still refuses cleanup when visibility is incomplete. Tests now assert that refusal leaves files untouched and scope positive real-process checks to their own fixture process; three additional denied-record cases cover the safety boundary. All 42 cleanup tests pass locally. The Ubuntu CI run for 7d4a30e passed both Web build and the full Python suite.

Compatibility and rollout

  • Wire protocol changes from v73 to v74; deploy Relay, Web, and Wrapper together. Derived history/browser caches rebuild on upgrade.
  • Cross-session sending continues through the optional official Codex App tool; this change does not enable that tool or grant new permissions.
  • Cleanup is an explicit operator workflow, not automatic pruning by cc-remote update. Existing daemon processes are not restarted to change their working directory; any release they still reference remains protected.
  • No product version bump or release publication is included.

- Preserve native source and item identities across live delivery and history.
- Show outgoing delivery receipts and scoped read-only session links.
- Keep the original reading position and reject stale preview responses.
- Advance protocol and derived cache versions with regression coverage.
- Move the full-width chat with touch-driven sidebar progress and distance or velocity settling.
- Preserve native scrolling, editor gestures, selection, keyboard sizing and desktop layout.
- Load the gesture controller with the sidebar and replace legacy swipe checks with Chromium and WebKit coverage.
- Reveal a continuous sidebar surface beneath rounded conversation corners.
- Use native Safari switch feedback for taps and supported vibration for opening gestures.
- Cover layer clipping, gesture feedback, unsupported browsers and responsive controls.
- Animate pane transforms without invalidating the full conversation on each frame.
- Let new touches interrupt settling and preserve recent flick velocity.
- Cover repeated reversals, delayed touch endings, and exposed closing surfaces.
- Read resident state after asynchronous catalog and broker lookups complete.
- Keep late session lists from restoring stale running or idle state across accounts.
- Cover terminal, new-turn, and eviction races in catalog responses.
- Skip oversized rollout records within the bounded source snapshot to recover newer settings.
- Validate the native resume model before replacing an unavailable selection.
- Preserve explicit user overrides and cover missing or stale rollout settings.
- Add journaled retention with reviewed inventories, process and symlink checks, quarantine, and acceptance before removal.
- Start Codex lifecycle commands from a stable home and verify live daemon configuration as the service user.
- Package the cleanup tool and document rollback retention and deferred cleanup.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-05T19:15:12.661747Z 7d4a30e Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@muggle-stack

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1c9116fe7c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread deploy/cleanup.py Outdated
Comment on lines +288 to +289
roots = [p for p in plan["protected"] if p.exists()]
roots.extend(p for p, reasons in observed.items() if reasons and p.exists())

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Trace dependencies from every retained candidate

When a candidate is retained because an explicit protected path is nested inside it, that candidate is added to found but not to roots; only candidates with live process references are traversed. For example, if retained candidate B contains a protected file and B/.venv points to candidate A, the scan starts at the protected file rather than B, misses the symlink, and can permanently delete A while retaining a now-broken B. Add all candidates already marked with retention reasons to the dependency roots before determining which other candidates are safe to remove.

AGENTS.md reference: AGENTS.md:L34-L37

Useful? React with 👍 / 👎.

- Trace whole retained candidates during single-path checks and through nested symlink targets.
- Cover transitive retention, candidate ordering, cycles, and unobservable process records.
- Keep real process tests isolated and verify safe CLI refusal on restricted Linux runners.
@muggle-stack

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

Reviewed commit: 7d4a30eb03

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@muggle-stack
muggle-stack merged commit 030d94d into master Oct 5, 2026
2 checks passed
@muggle-stack
muggle-stack deleted the feat/codex-session-messages branch October 6, 2026 09:14
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.

2 participants