Skip to content

fix(mobile): preserve iPad search chrome across layout changes - #13667

Open
PixPMusic wants to merge 1 commit into
pingdotgg:mainfrom
PixPMusic:pixpmusic/fix-ipad-search-glass
Open

PixPMusic wants to merge 1 commit into
pingdotgg:mainfrom
PixPMusic:pixpmusic/fix-ipad-search-glass

Conversation

@PixPMusic

@PixPMusic PixPMusic commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Resizing an iPad from the two-column layout to one column and back removes the Liquid Glass backgrounds from the sidebar search field and header buttons. The empty detail pane can retain the compact layout's search toolbar and settings button.

Keep the iOS sidebar fully opaque while its clipped width animates. UIKit visual effects can fail when an ancestor fades through zero opacity; the sidebar width already controls its reveal. Clear Home's compact search and toolbar options when it becomes the empty split detail pane. Android keeps its existing fade.

Independent of #13085 (shared filters), #11057 (native search field reuse/width after resizing), and #10629 (toolbar clipping). This targets main directly and has no merge-order dependency.

Before / After

iPad 11-inch Simulator, iOS 26.5, dark theme, same native client and isolated showcase data. Both images show the return to the two-column layout.

Before: missing glass and stale detail toolbar After: sidebar chrome restored
Before: sidebar search and header buttons lack glass; compact search remains in the detail pane After: sidebar search and header glass are visible, with no duplicate detail search

Before recording · After recording: repeated resize · Light theme after resizing

Verification

  • Reproduced on main at d06f0ff104; verified this fix in the same iOS 26.5 native development client.
  • Three two-column → one-column → two-column cycles in dark mode and another in light mode preserve sidebar glass and remove the stale detail toolbar. Compact search controls return when shrinking.
  • Typed and cleared search after resizing, opened a thread, and hid/restored its sidebar; the glass remains intact.
  • Mobile typecheck, scoped formatting, and git diff --check pass. Scoped lint reports only four existing warnings.
  • No native dependency changes. The change is limited to mobile iOS chrome; web/desktop, providers, contracts, and connection protocols are unchanged. Android's opacity behavior is unchanged.

Model: GPT-6 Astra | Harness: Codex in T3 Code

Summary by CodeRabbit

  • UI Improvements
    • iOS split-view screens now display a cleared header, without search, right-side, or toolbar items.
    • The adaptive workspace sidebar now stays opaque as it expands or collapses, revealing content through its width animation instead of fading. Android behavior remains unchanged.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Sep 25, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 9268e1e

Macroscope's review found this PR approvable — This is a focused iOS mobile bug fix that clears stale navigation chrome during layout transitions and preserves sidebar rendering without changing Android, data contracts, or production infrastructure. The limited two-file scope and localized visual impact make it suitable for approval.

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

@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Important

Review skipped

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

⚙️ Run configuration

Configuration used: Repository: pingdotgg/t3code/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 0fbe822a-639b-4e32-9d9a-cf1969a770f7

📥 Commits

Reviewing files that changed from the base of the PR and between 9268e1e and 7322940.

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: Repository: pingdotgg/t3code/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: d00704a1-e0dd-43da-8270-465e9fcbaf40

📥 Commits

Reviewing files that changed from the base of the PR and between 7a12aff and 9268e1e.

📒 Files selected for processing (2)
  • apps/mobile/src/features/home/HomeRouteScreen.tsx
  • apps/mobile/src/features/layout/AdaptiveWorkspaceLayout.tsx

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The iOS split-view header now clears additional header content. The adaptive workspace sidebar now stays opaque on iOS, while other platforms retain width-based fading.

Changes

Split-view header options

Layer / File(s) Summary
Clear split-view header content
apps/mobile/src/features/home/HomeRouteScreen.tsx
The iOS split-view options clear the search bar, right header items, and toolbar items. Existing empty titles and cleared left-side items remain. Android’s hidden-header option is unchanged.

Adaptive sidebar opacity

Layer / File(s) Summary
Set platform-specific sidebar opacity
apps/mobile/src/features/layout/AdaptiveWorkspaceLayout.tsx
On iOS, sidebar opacity is fixed at 1. Other platforms continue to fade based on rendered sidebar width, capped at 1 after division by 80.

Priority: ⬇️ Low

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

Change: Bug fix

Suggested reviewers: juliusmarminge

Merge Risk: ⚪ Minimal · up to 9268e

The iOS layout changes preserve the intended header transitions and sidebar bounds. No actionable merge-blocking risk is evident.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the mobile iPad search chrome fix and matches the primary changes in the pull request.
Description check ✅ Passed The description explains what changed, why it changed, the affected platform, UI impact, before-and-after evidence, and verification results. It does not reproduce the checklist section, but it provid…
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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

@PixPMusic

Copy link
Copy Markdown
Contributor Author

Reviewed CodeRabbit's advisory docstring-coverage warning. The repository does not configure an 80% docstring requirement. Both non-obvious parts of this change already have nearby comments: UIKit glass must not inherit the sidebar fade, and Home's navigation options survive layout transitions. Adding component docstrings solely to satisfy the percentage would repeat the implementation, contrary to AGENTS.md's guidance. Leaving those unchanged.

CodeRabbit reported no actionable code findings for 9268e1e60c; Macroscope approved the same commit. All applicable CI checks pass, with before/after iPad screenshots and recordings in the description.

@PixPMusic
PixPMusic force-pushed the pixpmusic/fix-ipad-search-glass branch from 9268e1e to 7322940 Compare September 25, 2026 18:22

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:S 10-29 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