feat(flow): Live Activity Dynamic Island branding and mis PrimaryLanguage

- Add OSGKeyboardLiveActivity widget extension (ActivityKit) with branded
  compactLeading mark in the Dynamic Island during Flow sessions
- Wire FlowLiveActivityController into FlowSessionManager lifecycle
- Set keyboard PrimaryLanguage to mis in project.yml, Info.plist, and at runtime
- Enable NSSupportsLiveActivities on main app and widget extension targets

Co-authored-by: Rocky <hkgood@users.noreply.github.com>
This commit is contained in:
Cursor Agent
2026-07-06 05:53:24 +00:00
parent 537a68552a
commit 6489340b2e
11 changed files with 341 additions and 2 deletions
+1 -1
View File
@@ -34,7 +34,7 @@
<key>PrefersRightToLeft</key>
<false/>
<key>PrimaryLanguage</key>
<string>en-US</string>
<string>mis</string>
<key>RequestsOpenAccess</key>
<true/>
</dict>
@@ -54,6 +54,8 @@ public final class KeyboardViewController: UIInputViewController {
public override func viewDidLoad() {
super.viewDidLoad()
// Voice-first keyboard hide the misleading "English" subtitle in Settings.
primaryLanguage = "mis"
OSGLog.keyboardExt.info("viewDidLoad — extension booted")
CustomLanguageModelManager.shared.prepareInBackgroundIfNeeded()
setNeedsUpdateOfScreenEdgesDeferringSystemGestures()