You're offline — showing cached data

MC-4950

MC board mobile: cannot touch-scroll down (recurring regression) — add regression guard
2026-06-13 05:09:58 SAST
Home Board MC-4950

MC board mobile: cannot touch-scroll down (recurring regression) — add regression guard

## Bug: MC board cannot be scrolled down on mobile (RECURRING regression) **Reported:** Elmar, 2026-06-11 — "again has this issue where on mobile you can't scroll down." Has re...
State Waiting Next Action Waiting: your real android touch scroll confirmation Owner Luci Runtime Idle Age 2d ago
MC-4950
Last runtime ended unexpectedly. · profile claude_opus_1m_medium

Description

MC-4950
## Bug: MC board cannot be scrolled down on mobile (RECURRING regression) **Reported:** Elmar, 2026-06-11 — "again has this issue where on mobile you can't scroll down." Has regressed multiple times (git: "Fix mobile board vertical scroll", "fix board v2 mobile segment scrolling", "restore mobile scroll", "Board v2 mobile design QA"). ### Findings so far (Luci, headless @390px iPhone UA) - The page DOES scroll programmatically: document scrollHeight 1737 vs viewport 844; `window.scrollTo(0,99999)` moved to y=893. `html`/`body` overflow-y: visible; body grows with content (`padding-bottom: calc(--bottom-nav-height …)`). - board_v2.html swipe handlers (MC-4775) are `{passive:true}`, touchstart/touchend only, NO touchmove/preventDefault → they do NOT block scroll. - No board scroll-lock found; the `height: calc(100dvh - …)` rules in style.css:160-189 belong to `.app-dock-*` (App catalogue), not the board. - So programmatic scroll works headless — the failure is **touch-specific** (real-device finger scroll), which headless `scrollTo` can't reproduce. Likely a non-passive `touchmove` preventDefault, `touch-action:none`, or a fixed overlay capturing touches — possibly in base.html / global JS / the bottom-nav dock, not board_v2.html itself. ### Required 1. Reproduce real TOUCH scroll at mobile width (CDP Input.dispatchTouchEvent / real device), pinpoint the element/handler that eats the vertical drag. 2. Fix. 3. **Add a regression guard** — this keeps coming back. The Canary board battery is mandated for board changes but is NOT catching touch-scroll. Add a mobile touch-scroll assertion to `tests/canary/board_battery.js` (drive a touch-drag, assert scrollY changed). 4. Gate: restart luci-dashboard + Canary board battery green + Tessa mobile touch journey. ### Constraints - Tier 2 UI. Files likely: templates/base.html, static/style.css, static/app_dock.js or board JS. board_v2.html itself looks clean. - MC CLAUDE.md: board changes MUST pass `python3 tests/canary/run_board_battery.py` before DONE.

Activity

waiting
Luci is working...
Live
No activity yet
Help