Commit Graph

12 Commits

Author SHA1 Message Date
till dce7515c9b chore: log real processing error + show compact reason (debug phase) 2026-07-23 15:05:15 +00:00
till 2ea49f101e fix: correct openrouter input_references format ({type,image_url:{url}}, was {url}->400 ZodError) 2026-07-23 14:55:19 +00:00
till 8304e810b2 fix: disable astro checkOrigin (breaks multipart uploads behind proxy); SameSite=Lax covers CSRF 2026-07-23 14:49:14 +00:00
till 6bfb4c3342 fix: locate migrations via process.cwd() (was dist/migrations -> ENOENT); add .dockerignore 2026-07-23 14:43:12 +00:00
till 9d075b5109 feat: storage abstraction (fs volume default | s3), health via storageOk 2026-07-23 14:27:12 +00:00
till d615bb38fe fix: attach app service to external coolify network for traefik routing 2026-07-23 14:18:42 +00:00
till 1fb42862be feat: Studio UI (upload/recipe/submit island) + queue view + library/file API
- StudioApp.tsx: upload (file/DnD/paste, HEIC, to /api/uploads), combinable task
  toggles with validation (contour needs cutout, freistellen+theframe blocked),
  format+orientation+live px+crop, contour mm, custom instruction, delivery, recipe prefill
- QueueApp.tsx + warteschlange.astro: live polling, progress+ETA, per-item status,
  retry/pause/resume/cancel, result thumbnails+download
- api/items (library filters), api/items/:id/file (stream result/source from S3)
- index.astro renders Studio island
2026-07-23 14:08:13 +00:00
till e6bc8954af fix: expose app port 4321 for coolify compose routing 2026-07-23 11:58:58 +00:00
till a9cd2ccecb chore: self-contained docker-compose (app+worker, postgres, minio) for coolify 2026-07-23 11:48:47 +00:00
till c12d55368c feat: upload/recipe/job API routes + Klarbild visual identity
- api: /uploads (multipart, HEIC, 25MB guard, S3), /recipes (GET/POST),
  /jobs (create+snapshot+enqueue, list), /jobs/:id (status+items),
  /jobs/:id/:action (pause/resume/cancel/retry-failed), /items/:id/retry
- design: adopt Till mockup identity — Space Grotesk + Space Mono (self-hosted,
  no google/US), blue accent, paper/card, registration-mark motif; OKLCH tokens
- verified: astro build passes
2026-07-23 11:47:27 +00:00
till 577b13f680 feat: image core — format math, sharp pipeline, sticker contour, prompts, pg-boss queue+worker
- format.ts: exact px (cm/2.54*dpi), catalog incl. The Frame/portrait, aspect ratio
- pipeline.ts: finalizeToFormat (cover/attention crop, dpi metadata), stickerContour
  (alpha dilation -> white border), heic->png, german filename slug
- prompts.ts: task prompts (clean/cutout/format) — reproduce, don't reinterpret
- process.ts: per-item chain (load -> model /v1/images -> finalize -> contour -> store)
- queue.ts + worker.ts: pg-boss (concurrency, retry, counters, 402 pause, completion)
- verified locally: 30x40@300dpi = exact 3543x4724 + dpi meta; sticker white border + alpha
2026-07-23 11:20:55 +00:00
till b46dbbe889 feat: scaffold klarbild foundation (astro+postgres+s3, auth, migrations, health)
- Astro 5 SSR (node standalone) + React, OKLCH tokens (no tailwind)
- migrations/001_init.sql: full schema per 03-datenmodell-api
- lib: db+migrations, crypto (AES-256-GCM), auth (argon2+signed session, ratelimit),
  storage (S3/MinIO, presigned URLs), openrouter (POST /v1/images, cost)
- middleware: init-once + session guard + admin gate; /api/health (db+storage)
- login + studio placeholder; seeds (till/lea, default recipes); Dockerfile
- verified: astro build passes
2026-07-23 11:11:08 +00:00