Skip to content

Respect footage takedowns in Clip thumbnails - #8313

Merged
3mdistal merged 2 commits into
mainfrom
t3/clips-thumbnail-takedown
Oct 27, 2026
Merged

3mdistal merged 2 commits into
mainfrom
t3/clips-thumbnail-takedown

Conversation

@3mdistal

Copy link
Copy Markdown
Contributor

When a Clip uses separate footage, a takedown on that footage can leave its thumbnail available even though video serving refuses it. This change checks the footage takedown before returning either static or animated thumbnail bytes. A takedown returns Not found for viewers and owners, using the same policy as video access.

The route now projects the footage failure code and refuses taken-down footage before touching cached images, storage or remote fetches. Existing parent-Clip access, password, expiry and Trash checks stay in place.

Verification:

  • The two new viewer/owner regression cases failed on unchanged main; 36 controls passed. With the fix, 98 thumbnail/video/expiry tests passed. Removing the failure-code projection makes both regressions fail again.
  • All 38 thumbnail tests pass after the final missing-row narrowing. Clips typecheck, formatting and strict typed lint passed. The native compiler check passes with strict indexed access enabled.
  • The full guard command reports 98 passed and a Windows compiler-launch failure; the unchanged compiler guard passes through its native launcher, covering all 99 checks in aggregate. Independent Sol review found no actionable issues in the three-file patch before the final two-line missing-row narrowing; the final 38-test run, strict lint and compiler check cover that correction. No live-beta claim is made.

This follows the standalone video fix in #8291. It does not depend on the comment-access stack.

@builder-io-integration builder-io-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Builder reviewed your changes — looks good ✅

Review Details

Code Review Summary

PR #8313 updates the Clips thumbnail route so a Clip backed by separate footage returns 404 when that footage is marked taken_down. The check is applied while loading the footage, before the thumbnail route can select static or animated bytes from cache, storage, or a remote source. This is a high-risk access-control change because it enforces takedown policy for media content.

The approach is sound and preserves the existing Clip access checks. The added tests cover both viewer and owner roles, verify that neither remote fetch nor S3 access occurs for taken-down footage, and retain coverage for a taken-down parent Clip with healthy footage. Two independent reviews found no actionable issues in the changed lines. No UI files or user-facing flows changed.

Findings

No actionable findings.

🧪 Browser testing: Skipped — PR only modifies backend route logic, tests, and changelog; no UI impact.

@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Here's a visual recap of what changed:

Visual recap

Open the full interactive recap

@3mdistal
3mdistal merged commit 0cc74c0 into main Oct 27, 2026
47 checks passed
@3mdistal
3mdistal deleted the t3/clips-thumbnail-takedown branch October 27, 2026 21:15
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.

2 participants