Repository navigation
Use server-generated ThumbHashes in Storage receipts and Viewer - #507
Merged
Merged
Conversation
This was referenced Sep 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The SDK's native image decoder was removed to restore lightweight, portable installs and Supabase Edge compatibility. API2 now owns optional ThumbHash extraction (API2 #9182); clients should request and preserve that metadata without downloading/decoding originals themselves.
What
storeImage(..., { placeholder: 'blur' })orstorage store --placeholder blur. Ordinary uploads are unchanged. Extraction is best-effort and its metadata usage is disclosed.thumbhash/has_alphathrough verified receipts, Assembly recovery/batch results, native asset reads and catalog sync. Viewer still accepts olderhasAlphacatalogs.Verification
8bed9b9is fully green in CI run 35773972305, monitored withgh-run-watch.ts. The final localyarn checkand packed 126-test browser fixture also passed.yarn check,yarn verify:full, then the final check plus wrapper sync / Knip / type tests after the council fix.CI follow-up
At
a1eb5e2, the legacy Supabase Edge bundler exited 135 twice with no output; scoped Node and local ARM passed. A fresh unchanged-main control passed, followed by both packages passing on the diagnostic head and again on final head8bed9b9without verbose diagnostics. The native crash's root cause remains unconfirmed. Normal container-state/bundler-log evidence is now retained on failure; no package gate, budget, dependency or SDK runtime behavior was weakened.Rollout
Apply
migrations/2026-09-22-add-dam-version-placeholders.sqlbefore deploying API2 #9182. Then prove a live opt-in upload → native metadata → recovered catalog → Viewer. Release through Changesets afterward, retaining Viewer's explicit alpha status, then pin/dogfood it in Content. Existing assets are not automatically backfilled.API2 main
525f77ca7aincludes #9182 and its x64 build/tests passed. Verified uploaded tar:s3://build-artifacts-transloadit/main/api2/api2-gha-ci-35767194563.tar.gz. The overall main run is red because ARM timed out in the untouched standalonecore/test/unit/gha-runner-spot-watch.vitest.tstest; no CI-infrastructure change or backend deployment was made here.Kevin explicitly deferred the newly reproduced 1×1-source ThumbHash color edge case to the next API2 slice. Its reproduction and required bounded-sampling/aspect/alpha tests are saved in the living document; this PR does not fix or conceal that backend limitation.
Living checklist:
docs/prompts/2026-09-22-sdk-thumbhash.md.