feat: add product image download pipeline for PageSpeed 100%
Downloads Printify CDN images via ImageDownloadWorker, processes through Media pipeline (WebP conversion, AVIF/WebP variant generation), and links to ProductImage via new image_id FK. - Add image_id to product_images table - ImageDownloadWorker downloads and processes external images - sync_product_images preserves image_id when URL unchanged - PreviewData uses local images for responsive <picture> elements - VariantCache enqueues pending downloads on startup - mix simpleshop.download_images backfill task Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
11
PROGRESS.md
11
PROGRESS.md
@@ -43,6 +43,11 @@
|
||||
- Disk cache for variants (regenerable from DB)
|
||||
- `mix optimize_images` task for mockups
|
||||
- On-demand JPEG fallback generation
|
||||
- Product image download pipeline (downloads Printify CDN images, processes through Media pipeline)
|
||||
- ImageDownloadWorker downloads and links images to ProductImage
|
||||
- PreviewData uses local images for responsive `<picture>` elements
|
||||
- Startup recovery re-enqueues pending downloads
|
||||
- `mix simpleshop.download_images` backfill task
|
||||
|
||||
See: [docs/plans/image-optimization.md](docs/plans/image-optimization.md) for implementation details
|
||||
|
||||
@@ -64,6 +69,12 @@ See: [docs/plans/image-optimization.md](docs/plans/image-optimization.md) for im
|
||||
- [ ] Add variant selector component (~2hr)
|
||||
|
||||
#### Recently Completed
|
||||
- [x] Product image download pipeline
|
||||
- Downloads Printify CDN images via ImageDownloadWorker
|
||||
- Processes through Media pipeline (WebP conversion, AVIF/WebP variants)
|
||||
- PreviewData uses local images for responsive `<picture>` elements
|
||||
- sync_product_images preserves image_id when URL unchanged
|
||||
- Startup recovery and `mix simpleshop.download_images` backfill
|
||||
- [x] Wire shop LiveViews to Products context
|
||||
- PreviewData now uses real products when available
|
||||
- Fixed Printify image sync (position was string, not integer)
|
||||
|
||||
Reference in New Issue
Block a user