fix(dashboard): keep Android keyboard open in main chat; disable kanban pinch-zoom
Two Android-specific fixes: 1. Keyboard dismissing in main chat. App.tsx derives `mobileKeyboardOpen` from useMobileKeyboard and uses it to gate the `project-content--with-mobile-nav` / `--with-footer` className assignment plus MobileNavBar rendering. When the soft keyboard opened on Android, those classes were removed and the nav unmounted, shrinking padding-bottom by ~80px in a single render. Android Chrome treats the resulting jump of the focused chat input as the focus target moving and instantly dismisses the keyboard. With interactive-widget=resizes-content set on Android, the layout viewport itself shrinks with the keyboard, so the hide-nav-on-keyboard pattern was redundant on Android (and harmful). The whole pattern is now gated to iOS via isIOS(). iOS path is unchanged. 2. Pinch-zoom on kanban. Android Chrome ignores user-scalable=no for a11y, and kanban's overflow-x:auto columns combined with the inflated ICB produce a broken visual when the user zooms out. Adds touch-action: pan-x pan-y to html,body inside the mobile media query (keeps scroll panning, blocks pinch-zoom). Chat and MissionManager were unaffected before because they don't expose a wide horizontal scrollable region. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3219,6 +3219,11 @@ input[type="range"]:focus-visible {
|
||||
html,
|
||||
body {
|
||||
overflow: hidden;
|
||||
/* Disable pinch-zoom on mobile — Android Chrome ignores user-scalable=no
|
||||
for a11y, and the kanban board's horizontally-scrollable layout
|
||||
interacts badly with zoom-out (exposes the offscreen-right area).
|
||||
`pan-x pan-y` keeps scroll panning but blocks pinch-zoom. */
|
||||
touch-action: pan-x pan-y;
|
||||
}
|
||||
|
||||
#root {
|
||||
|
||||
Reference in New Issue
Block a user