simpl-liste/web
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
..
public feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00
src fix: resolve sync data inconsistency between mobile and web (#55) 2026-04-08 15:28:36 -04:00
.env.template fix: rename .env.example to .env.template to avoid false positive (#53) 2026-04-08 15:20:55 -04:00
.gitignore feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00
AGENTS.md feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00
CLAUDE.md feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00
Dockerfile fix: resolve Logto auth crash on web — remove illegal cookie set in layout 2026-04-08 13:12:59 -04:00
drizzle.config.ts feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00
eslint.config.mjs feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00
next.config.ts feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00
package-lock.json fix: resolve Logto auth crash on web — remove illegal cookie set in layout 2026-04-08 13:12:59 -04:00
package.json fix: resolve Logto auth crash on web — remove illegal cookie set in layout 2026-04-08 13:12:59 -04:00
postcss.config.mjs feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00
README.md feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00
server.ts feat: add WebSocket server with ticket auth and heartbeat (#38) 2026-04-06 11:55:28 -04:00
tsconfig.json feat: setup Next.js web project with Drizzle + PostgreSQL schema (#35) 2026-04-06 11:03:34 -04:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.