Ka-Note/ka-note/server/drizzle
beo3000 58c990d4e6 feat: ZIP workspace + image blob sync
Phase 1 - ImageBlob sync:
- shared: add ImageBlob type (SyncEntity + contentHash + base64 data)
- shared: add imageBlobs to SyncChanges
- server: image_blobs table (drizzle migration 0005)
- server: sync-service push/pull for imageBlobs (base64 transport)
- client: Dexie v8 schema with SyncEntity-compatible ImageBlob
- client: storeImage computes SHA-256 contentHash
- client: syncService push (Blob→base64) and pull (base64→Blob)

Phase 2 - ZIP AI workspace:
- server: fflate dependency
- server: exportWorkspaceZip() replaces exportBundle()
- server: applyUploadFromZip() with contentHash dedup for images
- server: legacy JSON applyUpload() kept for backward compat
- server: ai-export routes support application/zip upload
- server: README updated for ZIP workspace structure
- scripts: download.ps1 extracts ZIP → work/ subdirs
- scripts: upload.ps1 compresses work/ → ZIP, posts octet-stream
- scripts: unlock.ps1 reads work/manifest.json (also supports legacy bundle)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 19:35:12 +01:00
..
meta feat: ZIP workspace + image blob sync 2026-02-21 19:35:12 +01:00
0000_lying_ben_urich.sql features 2026-02-20 16:49:41 +01:00
0001_sweet_mister_fear.sql deploy1 2026-02-20 20:16:50 +01:00
0002_ambiguous_night_nurse.sql added ms auth 2026-02-20 21:05:49 +01:00
0003_opposite_red_ghost.sql fix deploy, lournal wiedervorlage 2026-02-21 09:50:23 +01:00
0004_bored_eddie_brock.sql dev 2026-02-21 19:25:43 +01:00
0005_kind_paper_doll.sql feat: ZIP workspace + image blob sync 2026-02-21 19:35:12 +01:00