### 现象 - 使用非「原文」输出模式(如「轻整文 / light」)完成一次语音转写 + 润色。 - 偶发:润色结果 `finalText` 为空(0 字),但 `rawTranscript`(识别原文)完整存在,且 `errorCode` 仍为 `null`(未被判定为错误)。 - 历史页详情:左侧「原文」正常显示全文;右侧润色结果为空白;底部显示「0 字 · 已复制,请 Ctrl+V」。 - 右上「复制」按钮复制的是 `finalText`(空串),用户**无法从 UI 复制到左侧可见的识别原文**。 - 「重新转录」按钮仅在 `errorCode === transcribeFailed/emptyTranscript` 且有录音时出现:本例 ASR 成功、`errorCode` 为 null,按钮不出现;即便出现也无济于事(失败的是润色而非转录)。 - 结果:识别原文在 UI 中可见却取不回;若录音已被 retention / 条数 cap 清理,只能手动去翻 `history.json`。 ### 复现 1. 输出模式设为「轻整文 / light」。 2. 录一段较长内容(本例约 86 秒)。 3. 当本次润色返回空时,进入历史页查看该条。 ### 证据 - 平台:Windows;输出模式:light;时长约 86s。 - `history.json` 该条:`finalText: ""`,`rawTranscript`(约 353 字)完整,`insertStatus: "copiedFallback"`,`errorCode: null`。 - 截图:原文面板有完整内容,润色面板空白,底部显示「0 字」。 ### 期望 - 「复制」在 `finalText` 为空时回退复制 `rawTranscript`,不要复制空串。 - 原文面板提供独立「复制」入口,使识别原文随时可取回。 ### 备注 - 与 #653(润色结果与原文一致)同属「润色产物不可用 + 缺少取回/重试入口」,但本例是 `finalText` 为空、`errorCode` 未标记,属更基础的「原文可取回性」问题,可独立修复,不依赖正在推进的「历史重新润色」(#666 / #694)。 - 已准备一个仅前端的小改动 PR(`src/pages/History.tsx`)。
现象
finalText为空(0 字),但rawTranscript(识别原文)完整存在,且errorCode仍为null(未被判定为错误)。finalText(空串),用户无法从 UI 复制到左侧可见的识别原文。errorCode === transcribeFailed/emptyTranscript且有录音时出现:本例 ASR 成功、errorCode为 null,按钮不出现;即便出现也无济于事(失败的是润色而非转录)。history.json。复现
证据
history.json该条:finalText: "",rawTranscript(约 353 字)完整,insertStatus: "copiedFallback",errorCode: null。期望
finalText为空时回退复制rawTranscript,不要复制空串。备注
finalText为空、errorCode未标记,属更基础的「原文可取回性」问题,可独立修复,不依赖正在推进的「历史重新润色」(feat(history): 润色未变化检测与历史重新润色 (Fixes #653) #666 / feat(windows): WebView2 lazy webviews + Android auto-update + history repolish #694)。src/pages/History.tsx)。