feat(voice): add async selectable summaries

This commit is contained in:
zhangheng
2026-07-22 19:13:55 +08:00
parent 108e280b3f
commit 0a2509d923
17 changed files with 1530 additions and 159 deletions

View File

@@ -22,6 +22,7 @@ function session(overrides = {}) {
failedSegmentCount: 0,
needsGeneration: false,
lessons: [],
latestSummaryRun: null,
createdAt: 0,
updatedAt: 0,
...overrides
@@ -40,10 +41,10 @@ test('failed segments take priority over processing and generation', () => {
assert.equal(getVoicePrimaryActionText(action, value.failedSegmentCount), '重试转录2')
})
test('voice primary action follows retry, processing, then generation states', () => {
test('voice primary action keeps summary generation separate from save', () => {
assert.equal(getVoicePrimaryAction(session({ failedSegmentCount: 1 })), 'retry')
assert.equal(getVoicePrimaryAction(session({ processingSegmentCount: 1 })), 'processing')
assert.equal(getVoicePrimaryAction(session({ needsGeneration: true })), 'generate')
assert.equal(getVoicePrimaryAction(session({ needsGeneration: true })), 'save')
})
test('no clear speech failures provide an actionable explanation', () => {