Skip to content

fix(preview): restore v2 sizing and project access - #12548

Merged
juliusmarminge merged 1 commit into
t3code/codex-turn-mappingfrom
fix/v2-preview-regressions-20260918
Sep 19, 2026
Merged

juliusmarminge merged 1 commit into
t3code/codex-turn-mappingfrom
fix/v2-preview-regressions-20260918

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Sep 19, 2026 •

Copy link
Copy Markdown
Member

The v2 branch lifted preview sizing into ChatView without the row measurement or per-thread storage key. A saved 800px panel in a 1024px workspace left only 224px for chat, and resizing one thread changed the width used by others. The preview list/close tools rejected a project's browser-access opt-in when the global setting was off.

This follow-up to #2829 reuses ChatView's existing row measurement and restores the scoped thread width key. The list/close handlers now use the project-aware preview capability issued with the credential, matching the other preview tools. A credential without that capability still cannot list or close tabs.

Validation

  • 16 focused tests passed across preview controls, toolkit registration, panel clamping, and credential issuance. The new opt-in test fails against the parent implementation with capability_denied and passes with this fix; opt-out remains denied and leaves the tab open.
  • Scoped web and server typechecks passed. Changed-file formatting/lint passed with existing ChatView warnings; React Doctor found no errors and one existing ChatView complexity warning.
  • Real client pass in isolated state: thread switch/resize, sidebar resize, window resize, sheet mode, maximize/restore, and close/reopen. Resizing B from 480px to 500px preserves A's saved 800px width. No new ResizeObserver is added.

Review status

CI passed on 71ee9a3b8b53. Macroscope correctness, Effect conventions, and UI consistency checks passed with no actionable findings. Its approvability check is neutral and requests human review of the project-aware browser access change. CodeRabbit skipped review because this base branch is disabled in its configuration. No review threads are unresolved.

Evidence

Matching 1280×900 captures from parent fd8ea2fb2dd6 and this change, with a 1024px workspace and the same saved 800px panel width. The Files surface exercises the shared preview panel shell in the web client; Electron browser automation itself was not re-tested by this pass. The backend tests cover the actual list/close handlers and preview manager.

Before: 224px chat, 800px panel After: 360px chat, 664px panel
Before: panel consumes chat space After: panel preserves 360px of chat space

Thread width restoration and sidebar resize recording

Model: GPT-6. Harness: Codex.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 19, 2026

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All clear

Posted via Macroscope — UI Consistency

@macroscopeapp

This comment has been minimized.

1 similar comment
@macroscopeapp

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ No successful main baseline artifact is available yet. This run establishes the initial measurement.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire — 4.9 KiB — 6.8 KiB ✅
Codex Thread snapshot wire — 3.7 KiB — 4.9 KiB ✅
Codex Live turn WebSocket wire — 1.2 KiB — 2.0 KiB ✅
Codex Live turn WebSocket decoded — 20.4 KiB — 29.3 KiB ✅
Codex Live turn messages — 2 — 8 ✅
Claude Total thread wire — 4.9 KiB — 6.8 KiB ✅
Claude Thread snapshot wire — 3.7 KiB — 4.9 KiB ✅
Claude Live turn WebSocket wire — 1.2 KiB — 2.0 KiB ✅
Claude Live turn WebSocket decoded — 20.7 KiB — 29.3 KiB ✅
Claude Live turn messages — 1 — 8 ✅

Baseline: unavailable · PR result: 71ee9a3 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 106.1 KiB
  • Claude decoded thread snapshot: 106.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

macroscopeapp Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — The UI portion restores workspace-aware, per-thread preview sizing with focused coverage. The server portion changes the authorization boundary for preview-tab controls by relying on project-aware credential capabilities, so the resulting access behavior warrants human review.

You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit f180e95 into t3code/codex-turn-mapping Sep 19, 2026
27 of 28 checks passed
@juliusmarminge
juliusmarminge deleted the fix/v2-preview-regressions-20260918 branch September 19, 2026 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant