Numeric captions disappear from transcripts and embed subtitles
Maintainer antworten meist innerhalb von 1 Tag
@AksharP5 arbeitet bereits daran.
Seit 23.10.2026.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- bun, react, typescript
- Bereich
- frontend, testing-qa
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Rust
- Sterne
- 23.4k
- Forks
- 2.1k
- Ø Merge
- 1 T. 20 Std.
- Gemergte PRs (30 T.)
- 348
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus CapSoftware/Cap
-
Web player intercepts ⌘⇧M and blocks Chrome profile-menu shortcutEvtl. vergeben @AatmanAJ hat das vor 8 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
CapSoftware/Cap#2596 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
CapSoftware/Cap#2384 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Dashboard pagination causes full page reloads on self-hosted CapEvtl. vergeben @Dewin hat das vor 36 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
CapSoftware/Cap#2305 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
CapSoftware/Cap#1714 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Camera-only SDK recordings cannot be saved after their source endsEvtl. vergeben @AksharP5 hat das heute übernommen. Offen
Schwierigkeit 4/5 1-2 Tage Anfängerfreundlichkeit 35/100
CapSoftware/Cap#2970 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in CapSoftware/Cap
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
feature
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
dsx-ai-factory/infra-controller#8145 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug: workspace access hint suggests a --subject command that fails for hyphen-leading OIDC subjectsOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
type: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
A-FFI C-Testing D-Straightforward S-Ready
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag