Commit Graph

16 Commits

Author SHA1 Message Date
c29f793973 feat: mobile-first redesign (warm notebook aesthetic, thumb-zone capture bar)
- Editorial masthead (Fraunces + Spline Sans), warm paper/ink palette with
  terracotta accent, matching dark mode
- Thumb-zone composer: single capture input + round submit, optional note
  toggle, refocus after add for rapid capture
- Mobile-first CSS: 44-50px touch targets, 16px inputs (no iOS zoom),
  edge-to-edge scroll-snap list chips, safe-area insets, tap-highlight off,
  contained overscroll; desktop as min-width enhancement
- Staggered task-card entrance (reduced-motion aware), themed empty states
- Head: theme-color light/dark, Apple web-app metas, lang attr, font preconnect

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 09:49:45 +00:00
65543cb6ee fix: add PUT /tasks/mirror (array full-replace of desktop Idle backlog)
The desktop pushes its full Idle backlog as a JSON array to /tasks/mirror, not per-task.
Previously /tasks/mirror matched tasks/[id].put.ts (id=mirror) and rejected the array with
400. New static route validates per-element, accepts empty arrays, upserts each as
consumed=true (desktop-owned), deletes consumed=true rows not in the array, and leaves
web-created consumed=false rows untouched. Mirrors PUT /lists.
2026-06-10 09:35:33 +00:00
812048a0b5 fix: bootstrap-gate auth before mount (krypto-kuns pattern); never call API unauthenticated
Root cause: the router-guard adapter let index.vue mount and call the API before
auth resolved, so auth.fetch returned a synthetic 401 (the banner) and the package's
redirect-loop guard could strand the user. Now use the core ZitadelAuth and gate in an
async plugin (Nuxt awaits it before mount), mirroring the working krypto-kuns app.
2026-06-10 08:49:01 +00:00
94ee00b0ff debug: gated auth diagnostics (AUTH_DEBUG) logging jwt claims on 401 2026-06-10 08:38:00 +00:00
e38a9e43af chore: ignore playwright artifacts 2026-06-10 08:25:18 +00:00
ab2f9affd1 fix: commit vendored @kuns/zitadel-auth dist (was excluded by dist/ gitignore) 2026-06-10 08:22:38 +00:00
7331fe75e8 feat: dockerfile (node runtime), startup migration, README, runtime env config 2026-06-10 08:16:45 +00:00
56186a1fea feat: zitadel provisioning script + project-audience scope 2026-06-10 08:07:20 +00:00
f83bb25316 feat: mobile-first web client (login, lists, add task) 2026-06-10 08:01:39 +00:00
285bac4308 feat: list + task endpoints and CORS, verified end-to-end 2026-06-10 07:58:51 +00:00
394bceca5f feat: zitadel token auth middleware 2026-06-10 07:53:42 +00:00
50173a3809 feat: repository layer with tests 2026-06-10 07:52:31 +00:00
63714f5960 feat: db connection and migration 2026-06-10 07:51:00 +00:00
935ff5b757 feat: scaffold nuxt app 2026-06-10 07:49:40 +00:00
42d01f0673 docs: online inbox implementation plan 2026-06-10 07:47:08 +00:00
0f0e7ee7d2 docs: online inbox design spec 2026-06-10 07:44:23 +00:00