Fix transcript text edit not showing after Enter
The display renders segment.words (not segment.text), so editing the text field alone had no visible effect. Now finishEditing() rebuilds the words array from the edited text so the change is immediately visible. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -60,12 +60,25 @@
|
||||
function finishEditing(segmentId: string) {
|
||||
const trimmed = editText.trim();
|
||||
if (trimmed) {
|
||||
// Update the segment text in the store
|
||||
// Update the segment text and rebuild words from the edited text.
|
||||
// The display renders segment.words, so we must update them too.
|
||||
segments.update(segs => segs.map(s => {
|
||||
if (s.id !== segmentId) return s;
|
||||
// Rebuild words from the edited text, preserving timing from the
|
||||
// original segment boundaries (individual word timing is lost on edit)
|
||||
const newWords = trimmed.split(/\s+/).map((word, widx) => ({
|
||||
id: `${s.id}-word-${widx}`,
|
||||
segment_id: s.id,
|
||||
word,
|
||||
start_ms: s.start_ms,
|
||||
end_ms: s.end_ms,
|
||||
confidence: 1.0,
|
||||
word_index: widx,
|
||||
}));
|
||||
return {
|
||||
...s,
|
||||
text: trimmed,
|
||||
words: newWords,
|
||||
original_text: s.original_text ?? s.text,
|
||||
is_edited: true,
|
||||
edited_at: new Date().toISOString(),
|
||||
|
||||
Reference in New Issue
Block a user