Skip to content

fix(mobile): iOS sheets scroll to the end and keep their buttons on screen - #22417

Open
Claudesaul wants to merge 1 commit into
pingdotgg:mainfrom
Claudesaul:fix/mobile-ios-sheet-height
Open

Claudesaul wants to merge 1 commit into
pingdotgg:mainfrom
Claudesaul:fix/mobile-ios-sheet-height

Conversation

@Claudesaul

Copy link
Copy Markdown
Contributor

Problem

Fixes #20252. On iOS, the Terminal output sheet can't scroll to the last captured line, and Attach selected output sits below the bottom edge. The sheet's content lays out at its full height (1590 pt for 43 lines) instead of the sheet's ~790 pt, so the ScrollView has nothing to scroll.

Change

The FormSheet host doesn't bound flex children on iOS either, which #20284 fixed on Android. The shared iOS Sheet now pins its root to the host's edges instead of using flex-1.

Scope and approval

#20252 is triaged as a bug. #20284 only changed Sheet.android.tsx.

Verification

On the iOS 27 simulator, I opened Attach visible output on 43 lines and scrolled the expanded sheet. Before the fix, the list stops at line 23 and the button never shows. With the fix, it scrolls to line 43 with the button on screen. The composer's terminal context sheet, which shares Sheet, now reaches its last line too.

Before After

…creen

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Oct 20, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at eb7d47e

Macroscope's review found this PR approvable — This narrowly scoped iOS layout fix pins the existing sheet content to the FormSheet bounds so scrolling and action buttons remain usable. It changes no APIs, data, defaults, or static-analysis settings.

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

@coderabbitai

coderabbitai Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e5495dad-eaa8-44d4-9193-2674673e8737
📥 Commits

Reviewing files that changed from the base of the PR and between 81dea78 and eb7d47e.

📒 Files selected for processing: 1
  • apps/mobile/src/components/ui/Sheet.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

📝 Walkthrough

The sheet host changed from flex sizing to absolute positioning pinned to all FormSheet edges. The non-collapsible behavior and background styling remain.

Changes: Sheet layout

Layer / File(s) Summary
Anchor the sheet host to FormSheet
apps/mobile/src/components/ui/Sheet.tsx
The sheet host now uses inset-0 instead of flex-1. Its comment describes the host-boundary requirement.

Priority: ➖ Normal

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

Change: Bug fix · Severity of issue fixed: Medium

Suggested reviewers: juliusmarminge

Merge Risk: ⚪ Minimal · up to eb7d4

The layout change matches the established platform contract and addresses the reported terminal-sheet scrolling issue.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly and concisely describes the iOS sheet scrolling and button visibility fix. It uses a valid conventional commit format.
Description check Passed The description includes the required Problem, Change, Scope and approval, and Verification sections. It identifies the linked bug, explains the implementation, reports focused iOS simulator verificat…
Linked Issues check Passed Issue #20252 requires the Terminal output sheet to reach the end of long captured output and keep Attach selected output reachable. The whole-PR diff changes the shared iOS Sheet root from flex-1 to…
Out of Scope Changes check Passed The diff changes only apps/mobile/src/components/ui/Sheet.tsx. The change directly addresses the shared iOS Sheet layout used by the affected attachment sheet and the related terminal context sheet.…
Full details: Description check

Explanation

The description includes the required Problem, Change, Scope and approval, and Verification sections. It identifies the linked bug, explains the implementation, reports focused iOS simulator verification, and includes before-and-after recordings.

Full details: Linked Issues check

Explanation

Issue #20252 requires the Terminal output sheet to reach the end of long captured output and keep Attach selected output reachable. The whole-PR diff changes the shared iOS Sheet root from flex-1 to absolute inset-0, which bounds the FormSheet content to the host edges. This enables the contained ScrollView to use the available sheet height. The PR summary reports verification with 43 lines, including reaching line 43 and showing the button.

Full details: Out of Scope Changes check

Explanation

The diff changes only apps/mobile/src/components/ui/Sheet.tsx. The change directly addresses the shared iOS Sheet layout used by the affected attachment sheet and the related terminal context sheet. No unrelated product behavior or files are changed.

✨ 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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: iPad terminal output attachment sheet clips long output and hides the attach button

1 participant