Текущая сборка ~7 минут — npm ci качает все 183 пакета с нуля + next
build без incremental cache на каждом push.
- Dockerfile: BuildKit cache mount на /root/.npm (npm install) и
.next/cache (Next.js incremental TS/swc/webpack cache).
- workflow: DOCKER_BUILDKIT=1 чтобы cache mounts работали.
- .dockerignore: убираем node_modules/.next/.git/docs из контекста —
меньше копирования + чище инвалидация слоёв.
- Поднимаем NODE_OPTIONS heap до 4G в build-стадии (TS падал с OOM).
Первый билд после этого коммита заполнит cache — второй и дальше
будут значительно быстрее (deps install ~5-10с вместо 60-90с,
next build тоже ускорится за счёт incremental).
- calendar API: today/week ranges use Moscow time (UTC+3) instead of UTC — previously today events did not appear until 03:00 MSK
- settings tab: add -webkit-overflow-scrolling: touch + touchAction pan-y for tablet scroll
- NotesTab: add date picker (pinDate) in editor header + date badge in list
- home: pinnedNotes now filters by pinDate (today or future), falls back to latest
- notes/auth: storage moved from /tmp to /data (falls back to /tmp if /data missing)
- deploy workflow: mount /opt/digital-home/smart-home-tablet-data:/data so notes survive redeploys