Repository navigation
Group stored originals and renditions in one query - #45
Merged
Merged
Conversation
Chromium keeps requesting byte ranges from a video's redirected CDN URL, so a seek or resume after the short grant expired stalled with a network error. Reload the same route once per such failure, restoring position and playing state; refused reauthorization stays refused. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Originals are stored straight from :original, and Uppy limits types only in the browser, so other files were listed and signed for delivery. A refused grant renewal also left a pending position restore behind. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A built-in Template sharing the configured name could be selected for editing and fail setup. Also record why non-media originals are refused at listing and delivery rather than filtered before storage. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # example/app/StorageGallery.tsx
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kvz
marked this pull request as ready for review
October 12, 2026 19:45
This branch was successfully deployed
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
Consumers should not have to page raw Storage receipts, scan an Assembly's first 500 results, and
reimplement source-identity joins just to render a photo/video gallery. Renditions also should not
occupy gallery pages by themselves.
#44 is squashmerged as
c6896ca8a18510b4035c22bb8a5246981385a157. This PR is now based onmain; integration commitfe1d151bff5d8c950db1352b8d7bb89f12f9bcbdhas the exact same source tree (5156f0beed8705ee71da5607eb47a64603132791) as the reviewed #45 head. The squash-history conflicts were resolved to that existing grouped-query implementation, without reintroducing #44's removed Assembly scan or auto-pagination.Changes
Transloadit.listStoredMedia: page originals and attach named, optional renditions byexact Assembly/source/upload/user/album/Workspace provenance. Missing or ambiguous roles stay absent.
Preserve legacy original producers, deletion visibility, reactive ranges and required page splits.
Live guest authorization, server-owned upload-prefix checks and Use private Storage for all wedding media #44's media-type check still
apply to every returned original and rendition.
Validation
yarn check: 269 tests, TypeScript and lint pass. An initial invocation during unresolved merge conflicts failed on conflict-marker syntax; after resolving and verifying exact tree equality, the complete check passed.yarn example:buildpassed. Official componentcodegen used an isolated loopback backend.
joins, duplicates/tombstones, interleaved legacy originals, frozen-range inserts/deletes/splits,
100/200 page/read caps, anonymous/expired/revoked access, out-of-prefix renditions and non-media
originals (merged from Use private Storage for all wedding media #44).
grouped-query blocker. After merging Use private Storage for all wedding media #44's grant renewal and media-type fixes, a council round
on the integrated branch found no issues.
Convex/CDN or iOS coverage;
convex-testexercises the actual query and handler paths.uploads disabled; it is not live Storage/CDN playback.
Release complete — October 15
Squashmerged as
d19cf6be92a3263bb828a8c8231ed7e192af71f4. Main CI and production-demo run 38741148602 passed, including the normal Convex/Vercel deployment and the unchanged real gallery test withE2E_EXPECT_STORAGE=1, uploads enabled, at 13:19:09Z. Current commit reached Vercel production in deployment7093658949. This validates grouped media with real private originals/video/posters, Range/seek, original-byte hashes and anonymous/logout denial; it supersedes the earlier upload-disabled preview limitation for this deployed version.The demo is deployed. npm publication is separate: the successful Changesets workflow opened #46 for
@transloadit/convex@0.5.0; that PR remains unmerged. No API2 deploy, new Workspace enrollment, credentials, Template change, R2 migration or retention change was performed.Execution — October 15
#44's main/demo run 38740447868 passed real production Storage acceptance at 13:13:43Z. This PR's integrated CI run 38740787826 also passed. The reviewed source tree is unchanged, and its separate squashmerge and automatic demo deployment completed under the existing authorization.
Kevin reconfirmed execution of the previously authorized ordered #44 → #45 squashmerges, including the existing automatic demo deployments. API2 production, Workspace changes, new credentials and retention changes remain outside this task. Update this PR and the single living API2 plan with actual merge/deployment outcomes.
Documentation consolidation, October 15: the two branch-local notes are removed in favor of the living DAM plan in API2 (API2 #9915). Local yarn check passes on this docs-only update (269 tests, types and lint). Product changes, release gates and draft status are unchanged; no new product merge or deployment in this documentation task.
🤖 Claimed by kvz on
studio1/convexsince 2026-10-15 · resume:codex resume 019fa2ee-f994-79d0-9d50-071bf2cb7ad6