Skip to content

Comments

🤖 feat: add touch-first mobile immersive review entrypoint#2540

Open
ibetitsmike wants to merge 5 commits intomainfrom
mike/mobile-touch-immersive-review-header
Open

🤖 feat: add touch-first mobile immersive review entrypoint#2540
ibetitsmike wants to merge 5 commits intomainfrom
mike/mobile-touch-immersive-review-header

Conversation

@ibetitsmike
Copy link
Contributor

@ibetitsmike ibetitsmike commented Feb 22, 2026

Summary

This adds a mobile/touch-specific entry point to immersive code review from the workspace header context menu, updates immersive review to run in a touch-first mode, and includes dedicated Storybook coverage for the iPhone 17 Pro Max touch immersive layout.

Background

On mobile screens, the existing immersive review flow was discoverable from keyboard-oriented controls and still showed desktop keyboard/notes affordances. We need a clearer mobile action, a touch-optimized immersive review experience, and stable visual coverage for the phone layout.

Implementation

  • Added a new mobile workspace-header action row: Mobile full-screen review.
  • Added a dedicated touch/mobile custom event (OPEN_TOUCH_REVIEW_IMMERSIVE) so the header menu can request immersive review without coupling directly to sidebar internals.
  • Gated touch entrypoint to coarse-pointer devices ((max-width: 768px) and (pointer: coarse)) so narrow desktop windows keep keyboard-first behavior.
  • Wired RightSidebar to handle the touch immersive event by selecting/opening the review tab and enabling immersive review in touch mode.
  • Threaded touch-mode flags through RightSidebar -> ReviewPanel -> ImmersiveReviewView with touch-indicative naming.
  • In ImmersiveReviewView touch mode:
    • skips keyboard focus/keyboard handler setup,
    • hides the right notes sidebar,
    • hides the keyboard shortcut footer,
    • opens inline add-comment composer when a tapped row resolves to a diff hunk (no fallback to unrelated hunks).
  • Added App/PhoneViewports story IPhone17ProMaxTouchReviewImmersive that:
    • runs at 440x956 with hasTouch: true,
    • dispatches the touch immersive event,
    • validates immersive diff content is visible,
    • verifies desktop Notes UI stays hidden in touch immersive mode.

Validation

  • make typecheck
  • make lint
  • make static-check
  • make storybook-build
  • make test-storybook

Risks

Low-to-moderate UI behavior risk, isolated to workspace-header action wiring and immersive review rendering/interaction paths. Desktop keyboard-first immersive flow remains the default path and was kept intact.


Generated with mux • Model: openai:gpt-5.3-codex • Thinking: xhigh • Cost: $0.12

Add a mobile/touch-only workspace-header action that opens immersive code review in touch mode, and thread touch-specific naming/flags through the review overlay path so touch mode hides keyboard-only affordances and opens inline comment composer on row tap.

---

_Generated with `mux` • Model: `openai:gpt-5.3-codex` • Thinking: `xhigh` • Cost: `$0.00`_

<!-- mux-attribution: model=openai:gpt-5.3-codex thinking=xhigh costs=0.00 -->
@ibetitsmike
Copy link
Contributor Author

@codex review

Copy link

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

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: 4a02ff4b37

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Ensure touch-mode row taps only auto-open the add-comment composer when the tapped row resolves to a diff hunk, preventing comments from opening on a different fallback hunk line.

---

_Generated with `mux` • Model: `openai:gpt-5.3-codex` • Thinking: `xhigh` • Cost: `$0.00`_

<!-- mux-attribution: model=openai:gpt-5.3-codex thinking=xhigh costs=0.00 -->
@ibetitsmike
Copy link
Contributor Author

@codex review

Addressed the touch-line composer fallback issue by opening touch auto-composer only when the tapped row resolves to a hunk-backed line.

Copy link

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

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: a329fa538d

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Restrict the mobile touch immersive review menu action to `(max-width: 768px) and (pointer: coarse)` so narrow desktop windows retain keyboard-first immersive behavior.

---

_Generated with `mux` • Model: `openai:gpt-5.3-codex` • Thinking: `xhigh` • Cost: `$0.00`_

<!-- mux-attribution: model=openai:gpt-5.3-codex thinking=xhigh costs=0.00 -->
@ibetitsmike
Copy link
Contributor Author

@codex review

Addressed the coarse-pointer gating feedback by restricting the touch immersive menu path to (max-width: 768px) and (pointer: coarse).

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Can't wait for the next one!

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@ibetitsmike
Copy link
Contributor Author

Added follow-up coverage in the latest commit:

  • New Storybook scenario: IPhone17ProMaxTouchReviewImmersive in App.phoneViewports.stories.tsx
  • Drives touch immersive entry (OPEN_TOUCH_REVIEW_IMMERSIVE), taps a diff row, and asserts inline composer appears while desktop Notes UI remains hidden.
  • Keeps iPhone 17 Pro Max viewport at 440x956 with hasTouch: true.

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Delightful!

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@ibetitsmike
Copy link
Contributor Author

Follow-up fix for Storybook stability is now pushed.

  • Updated IPhone17ProMaxTouchReviewImmersive play assertions to wait for immersive diff content and verify Notes sidebar is hidden in touch mode.
  • Reproduced and fixed the prior Test / Storybook failure locally.

Local repro/validation:

  • make storybook-build
  • make test-storybook
  • make static-check

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Delightful!

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

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