Repository navigation
fix(mobile): widen the Duo portrait sidebar - #26608
jakeleventhal wants to merge 1 commit into
Conversation
ApprovabilityVerdict: Needs Human Approval Macroscope's review found this PR requires human approval — The portrait Duo sidebar now defaults to 350 wide, with fixed overlay column sizing and a 280-wide tab bar. Human review is required to confirm this change to the default layout experience. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Derive portrait hinge width apps/mobile/src/lib/layout.ts |
For a native workspace with a hinge in portrait, deriveLayout sets listPaneWidth to 350 unless a division region supplies its position. Other cases retain the existing clamped calculation. |
Apply iOS width constraints apps/mobile/src/features/layout/createWorkspaceStackNavigator.ios.tsx, apps/mobile/src/features/workspace/WorkspaceSidebarTabs.ios.tsx |
WorkspaceColumns uses the layout list-pane width for its primary column constraints. WorkspaceSidebarTabs sets the tab bar maximum width to 280 when the primary sidebar overlays content. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix
Possibly related PRs
- pingdotgg/t3code#24182: Changes native workspace split eligibility and column sizing through
deriveLayoutandnativeWorkspace. - pingdotgg/t3code#24206: Introduces the native workspace overlay state used by this change.
- pingdotgg/t3code#24951: Changes orientation-specific Duo sidebar behavior in the same layout paths.
Suggested labels: size:XS, 📱 Native Change
Suggested reviewers: pixpmusic, juliusmarminge, macroscopeapp
Merge Risk: 
Minimal · up to 257e1
-
The requested Duo sidebar sizing is implemented without an established merge-blocking issue; native runtime verification can proceed as normal follow-up.
Pre-merge checks: 
3 · 
1
-
Failed checks: 1 warning Passed checks: 3 passedFull details: Description check
-
Explanation
The description includes the required Problem, Change, Scope and approval, and Verification sections. However, it states that maintainer approval is pending, while the template requires a linked issue or explicit approval. The verification also conflicts with the objectives: native verification was blocked, and the after images are AI design mockups rather than runtime screenshots.
Resolution
Link the triaged issue or maintainer approval discussion and include the explicit approval comment. Correct the verification section to state that native verification was blocked, replace mockups with runtime screenshots, and report any remaining verification limitations accurately.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- 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.
Problem
The unfolded iPhone Duo's portrait sidebar is too narrow for PR titles and labels. Give its shared PR/Threads overlay a 350pt width and keep the floating navigation actions left-aligned within their original 280pt width.
Change
Constrain the native column to the same width so UIKit cannot shrink it back. Both lists keep their existing two-line title limits and trailing ellipsis.
Scope and approval
This is one layout change for the unfolded iPhone Duo's native portrait overlay: a 350pt PR/Threads list with the floating navigation actions kept within their existing 280pt width. Landscape sizing, title line limits, navigation behavior, and other clients are unchanged. The PR author requested this change. No upstream maintainer approval or triaged issue is linked; upstream maintainer approval of the default layout change remains pending, as flagged by Macroscope.
Verification
vp run check:changed upstream/mainpassed format, lint, both knip passes, mobile/scripts typechecking, and 16 existing layout tests. The focused layout and reserved-region run passed all 23 tests.Runtime check on an unfolded Duo simulator in portrait (669×951pt), using the same device, backend, and data for both builds: the baseline overlay renders at about 280pt, and this branch renders it at about 350pt, with the tab bar unchanged at its original width. Tapping the dimmed content still dismisses the overlay.
Built with gpt-6.1-sol in the Codex harness; runtime verification by Claude Opus 5.5 in Claude Code.