Skip to content

[Bug] Shells drawer header renders under the status bar / Dynamic Island on iOS #4723

Description

@jameskantor

Description

On iOS (native app), opening the Shells panel as a mobile full-screen drawer (via the top-right ⋮ session menu) renders its header flush at the top of the screen, under the status bar / Dynamic Island. On a notched iPhone the "Shells" title, the ✕ close button, and the "+ New shell" row are partly obscured and hard/impossible to tap. Expected: the header should sit below the status bar / Dynamic Island.

Root cause: the Shells drawer is rendered by MobilePanelDrawer (web/src/shell/MobilePanelDrawer.tsx), a fixed inset-0 overlay whose <header> uses px-4 py-2 with no safe-area top inset — unlike the rest of the app, which folds in the --omnigent-safe-top variable (e.g. LoginPage/RegisterPage, and the image-viewer close button fixed in #4690 / #4692). The native shell injects viewport-fit=cover, so env(safe-area-inset-*) is nonzero and the header lands under the island.

Related but distinct from the Workspace-rail work in #3585 / #3587 (a different component).

Steps to reproduce

  1. Open the Omnigent iOS app on a notched iPhone (e.g. iPhone 15/16/17 Pro with Dynamic Island) — real device or Simulator.
  2. Open a chat/session.
  3. Tap the top-right session menu, then tap Shells.
  4. Observe the drawer header: the "Shells" title, the ✕ close, and the "New shell" row sit under the status bar / Dynamic Island — obscured and hard to tap.

Note: does not reproduce in plain mobile Safari — the native shell injects viewport-fit=cover (the web build's index.html doesn't), so env(safe-area-inset-*) reads 0 there.

Screenshot

Shells drawer on iPhone 17 Pro (iOS 26.5) — the "Shells" title collides with the status-bar clock and the ✕ sits under the Dynamic Island:

Image

Version

main @ 0bea9873

OS

iOS 26.5 (and earlier notched iOS)

Harness

Not applicable

Metadata

Metadata

Assignees

Labels

BugSomething isn't workingP2-mediumPriority: bug with workaround, important feature requestcomp:iosiOS app shellcomp:web-uiComponent: web frontend (ap-web)help wantedExtra attention is neededtriagedIssue has been triaged by the bot

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions