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.

Scope and approval

This is submitted under the small, focused bug-fix exception. The recorded iPad resize regression drops existing sidebar glass and leaves compact controls in the empty split pane. The fix restores that chrome through the existing layout transition, with two local adjustments to opacity and header options.

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

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

No code changes detected at 2be4c92. Prior analysis still applies.

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 →

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: c855fae7-3a1f-4fdc-91bc-447bfc26728e

📥 Commits

Reviewing files that changed from the base of the PR and between 2be4c92 and 16cae41.


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

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



📝 Walkthrough

Walkthrough

Split-view layouts on non-Android platforms now clear additional header content. The adaptive workspace sidebar stays fully opaque on iOS; 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
Split-view header options clear the title, search bar, right-side items, and toolbar items. Android behavior 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 retain width-based fading, 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 16cae

Search and settings remain available in the iPad sidebar, and the sidebar stays opaque as it animates. No concrete merge-blocking risk is evident.

Pre-merge checks | Passed 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check Passed The title clearly identifies the mobile iPad search-chrome preservation fix and matches the primary changes.
Description check Passed The description explains the problem, fix, scope exception, evidence, verification steps, test results, and limitations. It does not use explicit Problem and Change headings, but the required informat…
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.

✨ 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
@PixPMusic
PixPMusic force-pushed the pixpmusic/fix-ipad-search-glass branch from 7322940 to 2be4c92 Compare October 2, 2026 20:23
@PixPMusic
PixPMusic force-pushed the pixpmusic/fix-ipad-search-glass branch from 2be4c92 to 16cae41 Compare October 11, 2026 02:21
@PixPMusic

Copy link
Copy Markdown
Contributor Author

@juliusmarminge @maria-rcks This is rebased onto current main and ready for maintainer review. Mobile typecheck and scoped lint/format checks pass; existing before/after evidence is in the description.

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