The mobile .messages-inner rule used overflow-x:hidden, which per the CSS overflow spec coerces overflow-y from visible to auto — turning the inner into a scroll container. A scroll container's min-height:auto resolves to 0, so the inner (a flex-shrink:1 item inside the .messages column flexbox) collapsed to the viewport height instead of growing to its content. The transcript then overflowed the clipped inner rather than the .messages scroller, leaving nothing to scroll and pinning scrollTop at 0 — every open/send/receive stranded mobile users at the top with no way to scroll down. Fix: overflow-x:clip suppresses horizontal overflow (the original #4583/#4553 intent) WITHOUT coercing overflow-y or creating a scroll container, so min-height:auto stays min-content and the inner grows to full height. Verified empirically via headless Chrome mobile emulation (390x844, mobile=true): scrollableDelta 0 -> 7746; open/send/receive all land at bottom; mid-scroll position preserved across re-render. Desktop unaffected. Updated #4553 test (clip satisfies its horizontal-pan goal) + added dedicated |
||
|---|---|---|
| .. | ||
| vendor | ||
| apple-touch-icon.png | ||
| assistant_turn_anchors.js | ||
| boot.js | ||
| commands.js | ||
| favicon-32.png | ||
| favicon-192.png | ||
| favicon-512.png | ||
| favicon-512.svg | ||
| favicon.ico | ||
| favicon.svg | ||
| i18n.js | ||
| icons.js | ||
| index.html | ||
| login.js | ||
| manifest.json | ||
| messages.js | ||
| onboarding.js | ||
| outline.js | ||
| panels.js | ||
| pwa-startup.js | ||
| sessions.js | ||
| style.css | ||
| sw.js | ||
| terminal.js | ||
| ui.js | ||
| workspace.js | ||