From 87708e7976899d6151fb8a82290ab13f3b8ccb9a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 3 Jul 2026 08:17:55 +0000 Subject: [PATCH] fix: use AppGroupStore setter methods from keyboard extension AppGroupStore is a struct; property setters are mutating and cannot be called on a let binding. Add setOnboardingPage and setHasCompletedOnboarding helpers (like setDetectedAppContext). Co-authored-by: Rocky --- OSGKeyboardExt/KeyboardViewController.swift | 8 ++++---- OSGKeyboardShared/Services/AppGroupStore.swift | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/OSGKeyboardExt/KeyboardViewController.swift b/OSGKeyboardExt/KeyboardViewController.swift index b8dd54a..14b606e 100644 --- a/OSGKeyboardExt/KeyboardViewController.swift +++ b/OSGKeyboardExt/KeyboardViewController.swift @@ -208,14 +208,14 @@ public final class KeyboardViewController: UIInputViewController { private func advanceOnboarding() { let store = AppGroupStore() let nextPage = min(4, store.onboardingPage + 1) - store.onboardingPage = nextPage + store.setOnboardingPage(nextPage) state.onboardingPage = nextPage } private func completeOnboarding() { let store = AppGroupStore() - store.hasCompletedOnboarding = true - store.onboardingPage = 4 + store.setHasCompletedOnboarding(true) + store.setOnboardingPage(4) state.hasCompletedOnboarding = true state.onboardingPage = 4 } @@ -351,7 +351,7 @@ public final class KeyboardViewController: UIInputViewController { guard state.onboardingPage == 3 else { return } guard KeyboardSetupBridge.isReadyForOnboardingSkip else { return } let store = AppGroupStore() - store.onboardingPage = 4 + store.setOnboardingPage(4) state.onboardingPage = 4 } diff --git a/OSGKeyboardShared/Services/AppGroupStore.swift b/OSGKeyboardShared/Services/AppGroupStore.swift index 644b0d2..0879835 100644 --- a/OSGKeyboardShared/Services/AppGroupStore.swift +++ b/OSGKeyboardShared/Services/AppGroupStore.swift @@ -293,6 +293,14 @@ public struct AppGroupStore: @unchecked Sendable { set { defaults.set(newValue, forKey: "config.onboardingPage") } } + public func setHasCompletedOnboarding(_ completed: Bool) { + defaults.set(completed, forKey: "config.hasCompletedOnboarding") + } + + public func setOnboardingPage(_ page: Int) { + defaults.set(page, forKey: "config.onboardingPage") + } + // MARK: - Detected app context (v0.3.0+) /// Last app context the keyboard extension detected for this