Keep shell chrome fixed while apps own local zoom - #241
Conversation
|
E2E triage found and fixed the branch inconsistency: the served PR CSS correctly computed I am holding this PR from merge despite that fix. |
1ee1526 to
2536b45
Compare
…ocal zoom Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
2536b45 to
ca5add3
Compare
|
The earlier accessibility hold is resolved by an explicit product decision: Möbius is a fixed app-like platform surface, while mini-apps own any local zoom they need. The refreshed branch is rebased on current |
Product contract
Möbius is the fixed platform surface. Browser-level pinch must not scale its toolbar, drawer, chats, workspace, and active app frame together. A mini-app remains free to implement zoom inside a map, image, canvas, diagram, or document by transforming that content locally.
The owner has explicitly chosen that app-like shell behavior. This means ordinary Möbius shell text does not use browser page-pinch zoom; the boundary is deliberate rather than an accidental side effect of an app gesture.
Implementation
maximum-scale=1anduser-scalable=notouch-action: none, Pointer Events, a content transform, and visible zoom/reset controls where zoom is part of the appThe earlier draft changed several child
touch-actiondeclarations even though browser gesture arbitration intersects them with the root policy. Those redundant edits and their e2e expectation change have been removed from the final branch.Validation
Device boundary
Hosted CI covers the mobile Chromium contract. A real-iPhone pinch remains the final device-specific check because headless Chromium cannot reproduce iOS browser chrome and native gesture arbitration exactly.