feat(keyboard): improve typing, voice flow, and polish reliability

Reduce extension memory pressure and delivery races while adding richer candidates, tactile feedback, and safer two-level creative polishing.
This commit is contained in:
Rocky
2026-08-05 21:39:31 +08:00
parent 38e5ad570d
commit 31f5937a7f
177 changed files with 8343 additions and 3904 deletions
@@ -12,7 +12,8 @@ public enum MicVoiceAvailabilityResolver {
hasFullAccess: Bool,
appGroupAvailable: Bool,
hostReady: Bool,
isPreparingSession: Bool
isPreparingSession: Bool,
hasCompletedOnboarding: Bool = true
) -> MicVoiceAvailability {
switch phase {
case .recording:
@@ -25,6 +26,10 @@ public enum MicVoiceAvailabilityResolver {
break
}
// Host owns setup; keyboard only gates voice until that finishes.
if !hasCompletedOnboarding {
return .unavailable(.onboardingIncomplete)
}
if !appGroupAvailable {
return .unavailable(.appGroupUnavailable)
}