fix(mobile): the iPhone Duo's inspector panes use the full column#23152

merged2
duo/screens-t3.35
duo/inspector-insets
opened2d agobyJJulius Marminge
View on GitHubTwo-way sync enabledPR last imported 2d ago

On an unfolded iPhone Duo, the Git, Files and Changed files inspector panes stopped 84 pt short of the vertical bar. The Git list sat in a third of the column with its title cut off, and the Files header had no room for its search button.

Each pane hosts its own native stack inside the inspector column, and the column already insets its body for the vertical bar. UIKit still gives a nested navigation controller's screens the bar's inset wherever they sit, so the pane headers and the Git list took it a second time.

The inspector column now leaves horizontal insets to its panes. Their native stacks reach the column edge, where UIKit's inset is correct, and NativeInspectorContent pads each pane's content once with the column's insets. It replaces NativeSheetContent, whose own provider re-read the nested screen's inset.

The second commit fixes the Changed files list. It padded its top by the column's safe area plus a fixed 44 pt bar. On the unfolded Duo the column's top inset is 0, because the status bar sits in the vertical bar, while the pane's header ends 82 pt down, so the first file started under the header. The list now lets UIKit inset it for the header, as the Git and Files panes already do.

Verification

Measured with accessibility frames and an lldb safe-area dump on the Duo simulator (951 pt wide, with the vertical bar from x = 867):

BeforeAfter
Git list rowsx 600–771x 600–855
Git titleends at x 783ends at x 867
Files headerclose button onlyclose and search
Changed files, first rowy 56, under the header (ends at 82)y 94

Mobile typecheck passes. Android is unchanged because the wrapper only applies with native workspace columns. On iPad the column has no side insets in landscape, so the change doesn't apply there; it hasn't been checked on an iPad device.

Changed files: before the second commitChanged files: after
Before: first file under the headerAfter: first file below the header

Implemented with Claude Opus 5.5 in Claude Code, running in T3 Code.

🤖 Generated with Claude Code

Checks

All checks passed
Synced from GitHub

Approvability

Verdict: Approved at 5164c04

Macroscope's review found this PR approvable — This is a focused iOS safe-area/layout bug fix for existing inspector panes, with behavior gated to native workspace-column layouts and no changes to Android or unsupported paths. The small shared wrapper and automatic list inset adjustment address the duplicated and fixed insets without introducing a new capability or product default.

No code changes detected at 16b5b60. Prior analysis still applies.

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

Synced from GitHub

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for 16b5b60.

This comment will update automatically after the next completed run.

Synced from GitHub

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Team
  • Run ID: a3232136-d2da-486f-8123-e5977db8b859
📥 Commits

Reviewing files that changed from the base of the PR and between 992a380de8625b14b3b65cdc8aa65107f2e0bc8d and 16b5b60a8a53d635e4f213c649cdd5e035e82073.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 679b9b7f-bbc3-431e-8006-0ce407234062
📥 Commits

Reviewing files that changed from the base of the PR and between da2fd1536c0c5dca1a4eb645df7e38a473c6b584 and 992a380de8625b14b3b65cdc8aa65107f2e0bc8d.

📒 Files selected for processing: 1
  • apps/mobile/src/features/layout/createWorkspaceStackNavigator.ios.tsx

Limit details: You’ve used all 10 included reviews currently available.

📝 Walkthrough

iOS inspector content now uses NativeInspectorContent for horizontal safe-area handling. The inspector column disables its own horizontal insets. The review file list uses automatic iOS inset adjustment and fixed padding.

Changes: Inspector Insets

Layer / File(s)Summary
Inspector inset wrapper and column configuration
apps/mobile/src/native/NativeInspectorContent.tsx, apps/mobile/src/native/NativeSheetContent.tsx, apps/mobile/src/features/layout/createWorkspaceStackNavigator.ios.tsx
Added NativeInspectorContent with conditional horizontal safe-area insets, removed NativeSheetContent, and disabled automatic horizontal insets on the inspector column.
Apply inspector insets to content
apps/mobile/src/features/files/thread-file-navigator-pane.tsx, apps/mobile/src/features/review/ReviewSheet.tsx, apps/mobile/src/features/threads/git/GitOverviewSheet.tsx, apps/mobile/src/features/threads/thread-inspector-content-stack.tsx
Wrapped iOS file, review, Git overview, and inspector error content in NativeInspectorContent. The review file list now uses automatic iOS inset adjustment and fixed padding.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~12 minutes

Change: Bug fix

Suggested reviewers: pixpmusic

Merge Risk: ⚪ Minimal · up to 992a3

No actionable merge-blocking issue was established for the inspector layout change. It is ready to merge after normal checks.

Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check nameStatusExplanationResolution
Description checkWarningThe description clearly explains the problem, implementation, affected platforms, verification results, limitations, and includes before-and-after UI evidence. It does not include the required Scope a…Add a Scope and approval section. Link the triaged issue or maintainer approval with the approval comment, or explain why this focused fix is an obvious bug that qualifies without prior approval.
Passed Passed checks: 3 passed
Check nameStatusExplanation
Title checkPassedThe title clearly identifies the mobile iPhone Duo inspector-pane layout fix and matches the main change.
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description clearly explains the problem, implementation, affected platforms, verification results, limitations, and includes before-and-after UI evidence. It does not include the required Scope and approval section or explain why the fix qualifies for an exemption.

Resolution

Add a Scope and approval section. Link the triaged issue or maintainer approval with the approval comment, or explain why this focused fix is an obvious bug that qualifies without prior approval.

✨ Finishing Touches: 💡 1
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Added 2 commits

  • fix(mobile): the Changed files inspector starts below its header16b5b60
  • fix(mobile): the iPhone Duo's inspector panes use the full column837323d