feat(keyboard): show dictation progress as a fill on the microphone capsule

This commit is contained in:
2026-10-20 20:05:21 +02:00
parent be56d2210c
commit 1ddbd28371
7 changed files with 296 additions and 1 deletions
+11 -1
View File
@@ -89,7 +89,17 @@ public final class KeyboardState: ObservableObject {
public var id: String { rawValue }
}
@Published public var phase: Phase = .idle
@Published public var phase: Phase = .idle {
didSet {
// A timeline only describes the current processing wait.
if phase != .processing, dictationProgress != nil {
dictationProgress = nil
}
}
}
/// Dictation wait shown as the microphone capsule's progress fill.
/// Nil outside dictation processing (AI, edit, and cancellation waits).
@Published public var dictationProgress: DictationProgressTimeline?
/// Active chrome. Forced to `.voice` while recording / processing.
@Published public var surface: Surface = .voice
/// Surface the user was on when auto mode switched them to `.voice` to show