feat: iCloud settings sync and cold-start return redesign
- Add iCloud key-value settings sync (engine/language/polish/Flow prefs); API keys stay on-device. New "Sync settings via iCloud" toggle. - Redesign cold-start handoff: bottom-bar left-to-right swipe guidance, auto-dismiss on app switch, tap-anywhere to close, retained return link. - Harden keyboard->app handoff with host-disconnected hint. - Include prior Unreleased ASR fixes (route-change crash, fallback warning, multi-utterance recognition, local ASR diagnostics). Release 0.5.0 (build 18).
This commit is contained in:
@@ -26,9 +26,16 @@ public enum FlowSessionKeys {
|
||||
/// Wall-clock timestamp of the last utterance completion or session start.
|
||||
public static let lastActivityAt = "flow.lastActivityAt"
|
||||
|
||||
/// Heartbeat older than this while the host is foreground → likely killed.
|
||||
/// Heartbeat older than this → host is not actively reachable for recording.
|
||||
public static let heartbeatStaleInterval: TimeInterval = 3
|
||||
|
||||
/// Session flag still set but heartbeat older than this → host process is
|
||||
/// dead (force-quit, reboot). Keyboard / host should clear persisted state.
|
||||
public static let heartbeatZombieInterval: TimeInterval = 60
|
||||
|
||||
/// After mic stop, fail fast when the host heartbeat is gone longer than this.
|
||||
public static let keyboardHostDisconnectFailFast: TimeInterval = 15
|
||||
|
||||
/// Legacy fixed session length — prefer `FlowSessionPolicy.sessionDuration()`.
|
||||
public static let defaultSessionDuration: TimeInterval = 480
|
||||
|
||||
|
||||
Reference in New Issue
Block a user