Skip to content

feat(app): sync Codex protocol and refine turn navigation - #91

Merged
acking-you merged 5 commits into
mainfrom
chore/codex-main-20260907
Sep 8, 2026
Merged

feat(app): sync Codex protocol and refine turn navigation#91
acking-you merged 5 commits into
mainfrom
chore/codex-main-20260907

Conversation

@acking-you

@acking-you acking-you commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Sync the Codex fork with upstream main db0568dbb (339 upstream commits) through merge commit 852cac102, preserving the Windows host integration shims and updating the workspace lockfile.

The UI now renders live asynchronous questions and sends answers through turn/steer for a running turn or turn/start when idle. Failed sends remain editable, drafts are preserved, and answered questions do not reappear after navigation. Historical messages alone do not create pending prompts. Current thread model/effort fields take precedence over stale cached preferences, including a cleared effort.

The conversation minimap keeps one current-position marker. Hover moves a single longest, darkest tick with progressively narrower neighbors, temporarily replacing the reading-position highlight. Pointer exit restores the original appearance, and immediate geometry updates prevent stale primary highlights during fast movement. The tick styling follows the visual reference: square-ended 2 px strokes on 10 px spacing, hover widths of 26/20/14/10/6 px, a full-contrast primary mark, and subdued neighboring ticks.

The minimap now gives the rail ends and preview edges invisible click tolerance. The preview card and the gap leading to it are clickable, including where a short rail’s card extends beyond the ticks. Moving sideways keeps the previewed turn selected; clicks resolve that same turn after asynchronous loading updates its row. Releasing a valid click performs the jump, cancelled presses do not, and empty space still passes clicks to the transcript. Read-only snapshots lack turn ids, so their stable user-message ids now preserve the hovered and pressed target across refreshes; this fixes clicks silently disappearing while another process owns the session.

CLI readiness checks, host resume, the probe, and Flutter now share the complete initialize / initialized handshake. Account status uses v2 account/read. Regenerate FRB bindings and raise the two embedding crates’ recursion limit to 256 for the updated app-server future.

Validation:

  • Full first-party Rust formatting, workspace Clippy with -D warnings, and locked workspace tests: 303 passed, 6 ignored. Tests run with ambient PB_MAPPER_SERVER / MSG_HEADER_KEY unset because the existing unconfigured-install test assumes no relay environment.
  • Flutter dependency resolution, full Dart formatting, analysis, and tests: 455 passed, 3 skipped. The 35 minimap cases cover 4/12/400-turn hit targets, rail ends, preview edges, crossing the gap, asynchronous row updates, cancelled clicks, background clicks, neighboring hover widths, and exit restoration. Three chat-screen regressions verify first-turn navigation and its position marker before/during/after a read-only snapshot refresh, while keeping the session in read-only mode. All six desktop-theme resting/hover/exit captures are byte-identical to those before the hit-target fix.
  • Live embedded protocol responses validated against the pinned upstream JSON schemas; an ephemeral, read-only turn returned POCKET_CODEX_RELEASE_OK using the existing Codex login.
  • Built the CLI release and macOS arm64 release app. Rebuilt and launched the final UI artifact from f0b12b0, verified its code signature and embedded server, and repeated the upstream-schema protocol smoke checks. The earlier real model round trip also passed.

Windows runtime validation was not performed on this macOS host. Native window automation timed out; appearance was checked through Flutter desktop-theme render captures, while interaction was verified with widget tests. The release app process and embedded listener were checked directly.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@acking-you acking-you changed the title feat(protocol): sync Codex main and support asynchronous questions feat(app): sync Codex protocol and refine turn navigation Sep 8, 2026
@acking-you
acking-you merged commit 4149ab7 into main Sep 8, 2026
6 of 7 checks passed
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