Numeric captions disappear from transcripts and embed subtitles
Mantenedores costumam responder em até 1 dia
@AksharP5 já está trabalhando nisso.
Desde 23/10/2026.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- bun, react, typescript
- Domínio
- frontend, testing-qa
Direção de pesquisa
Read the parser in apps/web/app/s/[videoId]/_components/utils/transcript-utils.ts and the parser in apps/web/app/s/[videoId]/_components/tabs/Transcript.tsx; the reproduction command in the issue exercises the production edit helper and embed parser. Check how numeric cue identifiers are distinguished from caption text, then rerun the reproduction and confirm numeric captions remain in the parsed entries. Two open pull requests already address this issue.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Description
Caption text containing only digits disappears from the web Transcript tab and embed subtitles. An owner can save a correction such as 0 or 007 successfully, then lose that row when the saved transcript reloads. The text is still present in the stored VTT.
Both transcript parsers treat every numeric line as a cue identifier, including a numeric payload after a timing line. The embed player then regenerates its subtitle track from the incomplete parsed entries.
Expected: numeric text remains visible and is preserved in exported and embedded subtitles.
Reproduction
- Open a Cap you own with a completed transcript.
- Change a caption's text to
007and save. - Reload the transcript. The row disappears even though the edit was saved.
The same behavior is reproducible without auth or storage by running the production edit helper and the parser used by the embed player from the repository root:
bun -e 'import { parseVTT } from "./apps/web/app/s/[videoId]/_components/utils/transcript-utils"; import { updateVttEntryText } from "./apps/web/lib/transcript-vtt"; const original = "WEBVTT\n\n1\n00:00:00.000 --> 00:00:01.000\nZero.\n\n"; const saved = updateVttEntryText(original, 1, "0"); console.log({ saved: saved.updated, entries: parseVTT(saved.content) });'
Actual: { saved: true, entries: [] }.
The proposed fix retains { id: 1, timestamp: "00:00", startTime: 0, text: "0" }. A three-cue recording generated by the production caption formatter likewise loses its standalone 2026 cue on main and keeps it with the fix.
Additional Context
- Baseline main:
1965b31796db6da107a8f859ff34397468ae9512. - Linux x86-64, Bun 1.4.1, React 19.2.4. Actual baseline/patched Transcript components were exercised in Chromium with auth/storage hooks replaced by local fixtures. The numeric row is absent before, visible after, and clicking it seeks to the correct 1.5-second position.
- This verifies real parsing, rendering, edit-helper output and subtitle regeneration. It does not claim an authenticated backend write or a newly collected speech-recognition response; the timed-word fixture is synthetic.
- Related open #2416 and #2417 consolidate these parsers but retain the numeric-ID rule. The current #2417 parser at
8341885995171e9e191d88d47ea2ba01d73be7ddwas also executed and still drops a plain numeric cue. This fix may need its condition carried into the shared parser if that refactor lands first.
Affected sources: Transcript parser, embed utility parser.
- Linguagem predominante
- Rust
- Estrelas
- 23.4k
- Forks
- 2.1k
- Merge médio
- 1d 20h
- PRs com merge (30d)
- 348
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de CapSoftware/Cap
-
Web player intercepts ⌘⇧M and blocks Chrome profile-menu shortcutTalvez já em andamento @AatmanAJ assumiu há 7 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
CapSoftware/Cap#2596 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
CapSoftware/Cap#2384 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dashboard pagination causes full page reloads on self-hosted CapTalvez já em andamento @Dewin assumiu há 35 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
CapSoftware/Cap#2305 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
CapSoftware/Cap#1714 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Camera-only SDK recordings cannot be saved after their source endsTalvez já em andamento @AksharP5 assumiu hoje. Aberta
Dificuldade 4/5 1-2 dias Facilidade para iniciantes 35/100
CapSoftware/Cap#2970 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de CapSoftware/Cap
Issues semelhantes
-
bug needs triage P3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
pbakaus/impeccable#1143 ·
Mantenedores costumam responder em até 1 dia
-
Bundled uv is never updated and trusts the compromised eMudhra certificatesTalvez já em andamento @FabienDanieau assumiu hoje. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
foxglove/mcap#1907 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia