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
@@ -121,7 +121,10 @@ public final class SpeechHistoryStore: ObservableObject {
private func applyPayload(postCloudPush: Bool) {
entries = payload.entries.sorted { $0.createdAt > $1.createdAt }
SpeechHistoryStorage.save(payload, to: defaults)
guard postCloudPush else { return }
// Cloud push needs App Group settings (`settingsICloudSyncEnabled`).
// Skip when the suite is missing (unsigned test host) so we never
// schedule a Task that constructs `AppGroupStore()` and traps.
guard postCloudPush, AppGroup.isAvailable else { return }
Task {
try? await SpeechHistoryCloudSync.shared.pushLocalIfEnabled()
}