iOS safe-area layout fixed — content no longer obscured by status bar
iOS safe-area layout fixed — content no longer obscured by status bar
Status: Delivered
CAS: CAS-2587
Delivered: 2026-05-13
PRs: #666
What’s new
The iOS app now correctly respects the device’s safe area at the top of the screen. Page titles and content start cleanly below the status bar on every screen, and the black band that previously appeared between the page content and the bottom navigation is gone.
How to use it
No user action required — this is a layout correction that applies automatically to every screen in the app. Install build 0.2.2 (17) or later via TestFlight and open any page: content will sit between the status bar and the bottom navigation with no overlap or gap.
What changed under the hood
- Added
paddingTop: env(safe-area-inset-top, 0px)to the outermost mobile layout div inApp.tsx. - Root cause:
CAS-2460had appliedenv(safe-area-inset-*)at the bottom-nav and FAB level and subtractedsafe-area-inset-topfrom theScrollAreaheight budget — but the outer shell div never got the matchingpaddingTop, so content still started at y=0 (behind the status bar). The height subtraction without the offset also created an exactsafe-area-inset-top-sized gap above the bottom nav. - The
paddingTopis only applied whenisMobileis true, so desktop layout is unaffected.
Why we built it
CAS-2460 (May 12) laid the groundwork — it wired up env(safe-area-inset-*) at the component level for the bottom nav, FAB, and license banner. The top edge was not verified with the complete math; the mismatch was discovered when the regent dogfooded the app on device immediately after the CAS-2553 bug-reporter end-to-end fix shipped. One property in one file closed both symptoms.
Known limitations / follow-on work
- CAS-2658 (bottom nav floating too high + dead black bar below nav) is a related follow-on filed 2026-05-13 and delivered the same day for build 17.