From c98d6fbac8c423dbdb488499ed6df167a994d96f Mon Sep 17 00:00:00 2001 From: James Russo Date: Thu, 10 Sep 2026 12:53:30 -0400 Subject: [PATCH] fix: keep caption transcript data inside generated scripts (#3847) * fix: keep caption transcript data inside generated scripts * test: locate caption data without an HTML filtering regex --- .../studio/src/captions/generator.test.ts | 30 ++++++++++++++ packages/studio/src/captions/generator.ts | 8 ++-- skills-manifest.json | 6 +-- .../faceless-explainer/scripts/captions.mjs | 4 +- skills/pr-to-video/scripts/captions.mjs | 4 +- skills/pr-to-video/scripts/captions.test.mjs | 41 +++++++++++++++++++ .../product-launch-video/scripts/captions.mjs | 4 +- 7 files changed, 85 insertions(+), 12 deletions(-) diff --git a/packages/studio/src/captions/generator.test.ts b/packages/studio/src/captions/generator.test.ts index f9b7842425..1e81ef792f 100644 --- a/packages/studio/src/captions/generator.test.ts +++ b/packages/studio/src/captions/generator.test.ts @@ -1,5 +1,6 @@ // @vitest-environment node import { describe, it, expect } from "vitest"; +import { Window } from "happy-dom"; import { generateCaptionHtml } from "./generator"; import { buildCaptionModel, TranscriptWord } from "./parser"; @@ -31,6 +32,35 @@ function buildTestModel(wordsPerGroup = 5) { // --------------------------------------------------------------------------- describe("generateCaptionHtml", () => { + it("keeps script-closing text and word IDs as data when HTML is parsed", () => { + const text = '