Skip to content

perf(market): serve cached image variants - #2024

Merged
bobleer merged 1 commit into
GCWing:mainfrom
bobleer:bob/market-image-loading
Aug 4, 2026
Merged

perf(market): serve cached image variants#2024
bobleer merged 1 commit into
GCWing:mainfrom
bobleer:bob/market-image-loading

Conversation

@bobleer

@bobleer bobleer commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add lazily generated and disk-cached compact-v1 (640 px) and large-v1 (1280 px) image variants for MiniApp screenshots and Skin previews
  • use responsive optimized images in both standalone market websites and BitFun embedded markets, with async decoding, lazy loading, and one-time original-image fallback
  • preserve original image URLs and add immutable cache headers, ETags, bounded generation concurrency, and variant cleanup

Verification

  • cargo test -p bitfun-miniapp-market-service -p bitfun-skin-market-service
  • cargo check -p bitfun-miniapp-market-server -p bitfun-skin-market-server
  • pnpm run check:core-boundaries:test && pnpm run check:core-boundaries
  • pnpm run type-check:miniapp-market && pnpm run type-check:skin-market && pnpm run type-check:web
  • pnpm run test:miniapp-market && pnpm run test:skin-market
  • pnpm --dir src/web-ui run test:run src/infrastructure/api/service-api/MarketImage.test.ts
  • pnpm run build:miniapp-market && pnpm run build:skin-market

Production validation

Deployed exact commit 1253ab70c4390fca0d1fc1141bc778845e589b71 to the isolated MiniApp and Skin market services after verifying daily backups and restore drills. Both containers are healthy and their public health endpoints pass. Sample compact payloads are approximately 74% smaller for MiniApp and 73% smaller for Skin.

@bobleer
bobleer merged commit ae8c22e into GCWing:main Aug 4, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant