simpl-liste/src
le king fu 8f7204e4b1 fix: resolve sync data inconsistency between mobile and web (#55)
Three root causes fixed:

1. API GET /api/sync returned raw entities but mobile client expected
   {changes: [...], sync_token} format — pullChanges() iterated
   data.changes which was undefined, silently skipping all server data.
   Now transforms entities into the SyncPullChange format.

2. Mobile outbox writes used snake_case keys (due_date, list_id, etc.)
   but server processOperation spreads data directly into Drizzle which
   expects camelCase (dueDate, listId). Fixed all outbox writes to use
   camelCase. Also fixed task_tag → taskTag entity type.

3. Missing completedAt in task outbox payloads — completion state was
   lost during sync. Added completedAt to both create and update outbox
   entries, and added Date conversion in server update handler.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 15:28:36 -04:00
..
components feat: add swipe actions and drag-to-reorder for tasks and lists 2026-02-21 08:43:34 -05:00
db fix: resolve sync data inconsistency between mobile and web (#55) 2026-04-08 15:28:36 -04:00
i18n fix: resolve Logto auth crash on web — remove illegal cookie set in layout 2026-04-08 13:12:59 -04:00
lib fix: resolve Logto auth crash on web — remove illegal cookie set in layout 2026-04-08 13:12:59 -04:00
services fix: resolve Logto auth crash on web — remove illegal cookie set in layout 2026-04-08 13:12:59 -04:00
shared fix: remove duplicate RecurrenceType definition in shared/types (#34) 2026-04-06 10:39:12 -04:00
stores feat: add mobile sync client with outbox pattern (#40) 2026-04-06 12:54:44 -04:00
theme feat: extract shared types, colors, priority and recurrence (#34) 2026-04-06 10:38:16 -04:00
widgets fix: deduplicate WIDGET_NAMES and remove double-render in TOGGLE_SUBTASK (#32) 2026-03-31 04:01:01 -04:00
global.css feat: initial Simpl-Liste MVP 2026-02-20 19:28:42 -05:00