Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Transcript tab currently renders every subtitle cue as a separate row, splitting speech at commas, short pauses, and every eight words. This groups adjacent cues into sentence rows while preserving speaker boundaries and exact outer timestamps. Existing transcripts, translated captions, and provisional live transcripts benefit without retranscription.
Subtitle files retain their original timing. Owners can select Edit transcript to expose the original cues for precise corrections; edits never save a merged sentence under a single cue ID. Timestamped copying uses the readable sentence rows. Grouping also stops at long silence, overlaps, and bounded length/duration when punctuation is missing.
Depends on #2416 (AssemblyAI diarization). This branch is based on that PR's head,
2766dc0; merge that PR first. Until then, GitHub's cumulative diff includes the prerequisite. Review only this follow-up's four files.English before/after proof
A fresh AssemblyAI transcription of NASA's public JFK archival clip produces 12 caption fragments before → 3 sentence rows after, preserving all 72 words. Selecting the matching row on either side seeks the embedded source video to 12.850 seconds.
Watch/download the before/after MP4 · GitHub video page · Source clip · All proof files and methodology
The proof uses the actual old/new React components and real ASR output, with storage/auth hooks mocked. It is not production footage or proof of a persisted backend edit. Full local share-page verification was blocked by unavailable MySQL at
127.0.0.1:3306. NASA's clip splices two speeches; A/B are the unmodified ASR labels.Validation
git diff --checkpassed.tsc --noEmitpassed in the existing development checkout; the isolated checkout reused dependencies and was unsuitable for the workspace reference type check.Review fix: multilingual sentence endings
Addressed the Arabic question-mark finding in
decfd40with UnicodeSentence_Terminal. Regression tests cover Arabic, quoted Arabic and Hindi, plus original/translated Arabic rendering and exact seeking. All 91 focused tests, TypeScript, scoped Biome and whitespace checks pass. The approved English output remains byte-for-byte equivalent as parsed sentence entries (12 fragments → 3 sentences).Review-fix walkthrough · Validation log · English parity check
This additional proof uses the actual component with a synthetic multilingual fixture and mocked storage/auth.
October 5 review fixes
Single-letter labels such as
Option A.now end their sentence. Standalone and consecutive initials, titles, and ellipses still remain grouped. A lone embedded initial remains ambiguous with a label and is treated as terminal. Switching between cue editing and sentence reading clears cue selection explicitly, so a selected non-leading cue cannot leave an inconsistent sentence highlight. The legacy literal-angle-bracket fix from #2416 is included.Validation on
e261911a: 81 focused transcript/parser/edit/export tests passed; scoped Biome passed. Actual-component fixtures verify sentence boundaries, complete2 < 3, precise seeking to 2 seconds, and selection clearing at desktop and 390px mobile widths. Auth/storage/network are mocked in these fixtures; this is not authenticated full-page proof. The attempted full web typecheck did not pass: the isolated checkout lacks built shared-project declarations and reuses dependency links from the primary checkout. Fresh CI remains subject to upstream workflow approval.Mobile reading fixture · After Done editing · Fixture methodology
Security review: the extra canonical full-recording pass belongs to prerequisite #2416 and is required for recording-wide speaker identity. The pre-feature workflow already fell back to a full pass after chunks when live promotion failed. The existing canonical database claim remains covered by scheduling tests. Per-owner usage budgets are not introduced by this sentence-grouping follow-up; the broader cost-control concern needs a separately defined quota policy.
The follow-up appears safe to merge, with two non-blocking sentence-display issues worth correcting.
Findings
Fix with agent prompt
Summary
The follow-up groups adjacent transcript cues into readable rows for canonical and provisional transcripts, while retaining original cues for editing and VTT download.
Reviews (1) · Last reviewed commit: "fix: recognize multilingual sentence ter..."