My-Weekly-ToDo-List/src
mARTin 4c1ef5019e fix: iOS scroll blocked by enforcement interval + missing touch-action on slots
Three root causes fixed:

1. Scroll enforcement interval (every 50ms for 2s) was the main blocker:
   The setInterval forced gridRef.scrollTop on every frame, making iOS think
   the page was always scrolling programmatically. User touches during those
   2 seconds were overridden. The header appeared 'stuck' because the view
   was frozen. Replaced with a single setTimeout scroll (300ms on first load,
   50ms on subsequent). Added history.scrollRestoration='manual' so Safari
   doesn't fight us with scroll position restoration.

2. touch-action: pan-y was only on .time-grid-wrapper — NOT inherited by CSS.
   Slot child elements had touch-action: auto (default), so iOS still waited
   for JS before committing scroll on day column touches. Added touch-action:
   pan-y directly to .time-slots-container (the actual touched element area).
   Time column labels have no JS handlers so iOS scrolled them freely — this
   explains why time column worked but day columns didn't.

3. align-items: start on .weekly-days-grid was wrong (added in last commit).
   Removed — CSS grid default stretch is correct.

v1.77.4
2026-03-29 16:14:53 +02:00
..
app fix: iOS scroll blocked by enforcement interval + missing touch-action on slots 2026-03-29 16:14:53 +02:00
components fix: iOS scroll blocked by enforcement interval + missing touch-action on slots 2026-03-29 16:14:53 +02:00
lib feat: add cross-provider calendar sync tool 2026-03-29 10:58:07 +02:00
types feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
middleware.ts feat: add push notifications for calendar event reminders 2026-03-16 21:38:15 +01:00