feat: complete Phase 4 batch F, keyboard i18n, and Pages app icon

Remove KeyboardL10n hard-coded fallbacks in favor of ExtL10n and extension
Localizable.strings. Add Flow session expiry hints, Darwin cross-process
notifications, session monitor on the keyboard, and app icon on GitHub Pages.
This commit is contained in:
Rocky
2026-06-19 18:20:25 +08:00
parent 7f059dbd45
commit 275fc81104
14 changed files with 449 additions and 113 deletions
@@ -69,6 +69,8 @@ public final class KeyboardState: ObservableObject {
@Published public var onDeviceSupported: Bool = false
/// Seconds remaining in the current utterance (Flow tap-to-talk).
@Published public var utteranceRemainingSeconds: Int = Int(FlowSessionKeys.maxUtteranceDuration)
/// Whether the host app's Flow voice session is currently valid.
@Published public var flowSessionActive: Bool = false
/// "local" ASR only, no LLM. "cloud" ASR + optional LLM polish.
@Published public var engineMode: String = "cloud"