Skip to content

fix(app): respect iOS PWA safe areas - #50099

Closed
opencode-agent[bot] wants to merge 3 commits into
devfrom
ios-titlebar-safe-area
Closed

opencode-agent[bot] wants to merge 3 commits into
devfrom
ios-titlebar-safe-area

Conversation

@opencode-agent

@opencode-agent opencode-agent Bot commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

iOS 26 Home Screen web apps get a Liquid Glass scroll-edge fade behind the status bar. It dims ~32px below env(safe-area-inset-top), and there is no web opt-out (theme-color is ignored, scrollEdgeEffectStyle is not exposed). The titlebar currently sits exactly in that band:

block-beta
  columns 1
  a["0 → 59pt  status bar  = env(safe-area-inset-top)"]
  b["59 → ~91pt  iOS fade  ← titlebar lives here today (dimmed)"]
  c["91pt →  full brightness"]
  style b fill:#444,color:#bbb
Loading
  • Push the titlebar below the fade only when navigator.standalone is set and a status bar is present, so landscape and the iOS 26.1 system-reserved bar (inset 0) get no dead space.
"--safe-area-inset-top": iosStandalone
  ? "calc(env(safe-area-inset-top, 0px) + min(32px, env(safe-area-inset-top, 0px) * 1000))"
  : "env(safe-area-inset-top, 0px)",

min(32px, inset × 1000) is a CSS "32px if inset > 0, else 0".

Before (device, iOS 26)
Titlebar text visibly dimmed under the system fade — see #35480 / #36142 screenshots

Supersedes #46200. Related to #35480 and #36142.

Requested by: @Hona (Hona via Slack)

Keep the horizontal safe-area insets and the regression spec. Remove the 32px standalone offset: WebKit documents env(safe-area-inset-top) as the full status-bar height, and where iOS 26.x reports 0 the system already reserves the bar.
Home Screen web apps on iOS 26 get a Liquid Glass scroll-edge fade that dims ~32px below the status bar, with no web opt-out. Push the titlebar below it only when navigator.standalone is set and a status bar is present.
@ntcho

ntcho commented Sep 28, 2026

Copy link
Copy Markdown

Would love to see this fixed! Huge problem on iOS PWA.

@Tarquinen

Copy link
Copy Markdown
Member

This PR has had merge conflicts with dev and no activity since September, so I'm closing it. #56969 tracks a similar status-bar problem in the home screen web app, and a fix can be picked up again in a new PR against current dev.

— from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊

@Tarquinen Tarquinen closed this Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants