You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
web: iPadOS 27 status-bar blur washes over the tab strip in the home screen app #56969
When the web app is added to the Home Screen on iPadOS 27 and launched standalone, iOS draws a blurred scrim over the status bar area that washes over the tab strip below it, in both light and dark themes.
Since iOS 26.1, Apple renders a system blur over the status bar of Home Screen web apps using apple-mobile-web-app-status-bar-style: black-translucent (see WebKit bugs 317153 and 301994); it can't be disabled from the page. The existing mitigation — the 16px mobileTopClearance gap in packages/app/src/shell/titlebar/titlebar.tsx (#53297) — only applies when mobileTop() is true, i.e. platform === "web"and viewport ≤767px. iPad viewports are ≥768px, so the desktop branch runs with padding-top: env(safe-area-inset-top, 0px) and no clearance, placing the tab strip flush against the blur band.
Possible fixes: extend the clearance to standalone mode on wide viewports, or drop the black-translucent meta tag per Apple's guidance in WebKit bug 317153 (caveats: iOS reads the tag at install time so users must reinstall, safe-area-inset-top becomes 0, and WebKit bug 316008 says 100vh/100lvh include the status bar height when the tag is absent — needs device verification since #root uses 100vh in standalone).
Plugins
None (web app)
OpenCode version
2.0.32 (local build of packages/app from dev; same code path ships in production)
Steps to reproduce
Serve packages/app locally and open it in Safari on iPadOS 27.
Share → Add to Home Screen.
Launch the app from the Home Screen icon (standalone display mode).
Observe the blurred band over the status bar region bleeding into the tab strip row.
Screenshot
To be attached.
Operating System
iPadOS 27 (Safari → Add to Home Screen standalone web app)
Thanks for the detailed report and code pointers. I couldn't reproduce this here because the status-bar blur is drawn by iOS itself, so it needs a real iPad running the app from the Home Screen, and this sandbox doesn't have one.
The code on the latest dev (ba06ff9) matches what you describe:
iPad-width viewports get only env(safe-area-inset-top), with no extra gap.
index.html still sets black-translucent.
A maintainer with an iPad will need to confirm it on a device. A screenshot here would help. Related: #53297 (the phone-only fix), #50099 (open PR on iOS home screen app safe areas).
Activity
sghng commentedon Oct 19, 2026
opencode-agent commentedon Oct 19, 2026
Thanks for the detailed report and code pointers. I couldn't reproduce this here because the status-bar blur is drawn by iOS itself, so it needs a real iPad running the app from the Home Screen, and this sandbox doesn't have one.
The code on the latest
dev(ba06ff9) matches what you describe:titlebar.tsx, the 16pxmobileTopClearancegap from fix(app): keep the phone titlebar clear of the iOS status bar blur #53297 only applies when the viewport is 767px wide or less.env(safe-area-inset-top), with no extra gap.index.htmlstill setsblack-translucent.A maintainer with an iPad will need to confirm it on a device. A screenshot here would help. Related: #53297 (the phone-only fix), #50099 (open PR on iOS home screen app safe areas).
fix(web): the page draws its own top edge, so an iPad's Home Screen a…