fix(desktop): persist OpenAI text-only transcripts#5211
fix(desktop): persist OpenAI text-only transcripts#5211ComputelessComputer wants to merge 1 commit into
Conversation
Synthesize approximate transcript words for batch responses without word timings so OpenAI GPT transcription results are saved and summaries can run.
✅ Deploy Preview for old-char canceled.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f1252b5. Configure here.
| if (!alternative.words || !alternative.words.length) { | ||
| allWords.push( | ||
| ...synthesizeWordsFromTranscript(alternative.transcript, channelIndex), | ||
| ); |
There was a problem hiding this comment.
Missing wordOffset update for synthesized words path
Medium Severity
When synthesizeWordsFromTranscript produces words for a text-only channel, those words are pushed into allWords but wordOffset is not incremented before returning. If a subsequent channel in the same response has real word timings with speaker hints, the hints' wordIndex values will be computed with a stale wordOffset, causing them to reference incorrect positions in the merged allWords array.
Reviewed by Cursor Bugbot for commit f1252b5. Configure here.


Synthesize approximate transcript words for batch responses without word timings so OpenAI GPT transcription results are saved and summaries can run.
Note
Medium Risk
Changes batch transcription persistence behavior by generating synthetic
WordLiketiming data when providers return transcript text without word-level timings, which could affect downstream alignment/speaker-hint indexing. Scope is localized to batch result handling and covered by a new unit test.Overview
Batch result handling now supports text-only alternatives: when a
BatchResponseincludes atranscriptbut nowords, it synthesizesWordLikeentries with approximate 400ms durations and persists them instead of dropping the result.Adds a regression test ensuring
handleBatchResponsepersists these synthesized words and still clearsbatch/batchPreviewstate after persistence.Reviewed by Cursor Bugbot for commit f1252b5. Bugbot is set up for automated code reviews on this repo. Configure here.