Skip to content

Fix Sources caption handling, retries, and thumbnails - #104

Merged
devhims merged 5 commits into
mainfrom
fix/sources-caption-states
Sep 27, 2026
Merged

devhims merged 5 commits into
mainfrom
fix/sources-caption-states

Conversation

@devhims

@devhims devhims commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Problem / Motivation

Videos without captions can show “YouTube is temporarily unavailable” and offer ineffective retries. Earlier proxy outages can mask confirmed absence. Retry controls lack dashboard styling, and thumbnails overflow their tiles.

What changed

Confirmed caption absence returns non-retryable CAPTIONS_UNAVAILABLE after successful, playable metadata checks. Bot challenges, rate limits, malformed responses, and missing requested languages retain their existing classifications.

Sources displays “No captions available”, including after restoration, and excludes confirmed absence from retries. Retries use styled buttons and skeletons with cancellation. Transcripts remain visible during ordinary refreshes. Thumbnails fill their 64-by-36-pixel tiles with a centered crop.

Library version 0.6.3 is published. The platform, processor container, and frame container now pin that release with updated lockfiles.

flowchart LR
  B["Before: confirmed empty captions"] --> E["Generic error or earlier outage"] --> R["Retry offered"]
  A["After: confirmed empty captions"] --> C["CAPTIONS_UNAVAILABLE"] --> U["No captions available"]
  classDef retained fill:#334155,color:#ffffff,stroke:#94a3b8;
  classDef replaced fill:#7f1d1d,color:#ffffff,stroke:#fca5a5;
  classDef added fill:#14532d,color:#ffffff,stroke:#86efac;
  class B,A retained;
  class E,R replaced;
  class C,U added;
Loading

Caption extraction is retained; confirmed absence replaces the generic error and retry path.

Tests

Platform build, 819 unit tests, 38 processor tests, and 16 frame-container tests passed. A regression test verifies terminal caption absence through the installed npm package. Frame extraction builds and storyboard bundle verification passed.

Earlier library, web, browser, documentation, skill bundle, and packed CommonJS/ESM checks passed. Docker builds remain unverified because the local daemon is unavailable.

Compatibility and deployment

Deploy platform and web together to activate the fixes and updated container dependencies. Confirmed caption absence gains a distinct API error code. No storage migration is required. Live verification of the supplied video remains pending deployment.

@vercel

vercel Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
video2ctx-web Ready Ready Preview Sep 27, 2026 8:55pm UTC

@devhims devhims changed the title Handle missing captions and polish Sources retries Fix Sources caption handling, retries, and thumbnails Sep 27, 2026
@devhims
devhims merged commit a823913 into main Sep 27, 2026
10 checks passed
@devhims
devhims deleted the fix/sources-caption-states branch September 27, 2026 20:58

This branch was successfully deployed

1 active deployment
Preview — de4f6486 Deployed Sep 27, 2026 by vercel[bot]
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