Skip to content

Captions toggle in player UI doesn't activate text track on self-hosted #1773

Description

@julianwitzel

Description

The Cap video player includes a captions/subtitles UI toggle, but on self-hosted deployments clicking it appears to have no effect. The captions VTT file is correctly:

  • Generated by the transcription workflow
  • Stored in S3 (transcription.vtt next to result.mp4)
  • Loaded into the DOM as a <track kind="captions" src="blob:..."> element

However, the track's mode stays at "hidden" regardless of UI interaction.

Verified working manually

Setting the mode via JavaScript makes captions render correctly:

document.querySelector('video').textTracks[1].mode = 'showing';

This confirms the VTT file, cue parsing, and renderer are all working — only the UI toggle's binding to the track's mode is broken.

Reproduction

  1. Self-host Cap, record a video with audio
  2. Wait for transcription to complete (transcriptionStatus = 'COMPLETE' in DB)
  3. Open the share page, click the captions toggle in the player
  4. Observe: captions don't appear; track.mode remains "hidden"

Environment

Possibly related: Cap uses Vidstack player which has its own captions handling — the toggle button likely sets internal player state but doesn't propagate to HTMLTrackElement.mode.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions