From f8e102d2756a56efb6b9d92e578aedc3b7d63084 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Wed, 20 May 2026 12:48:40 +0800
Subject: [PATCH] checkpoint: archive current 7.5.1 before performance optimization

---
 Apptag/AppDefaults.swift |   36 ++++++++++++++++--------------------
 1 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/Apptag/AppDefaults.swift b/Apptag/AppDefaults.swift
index 2f2f720..313edc2 100644
--- a/Apptag/AppDefaults.swift
+++ b/Apptag/AppDefaults.swift
@@ -2,7 +2,7 @@
 
 enum AppDefaults {
     static let schemaVersionKey = "initialDefaultsSchemaVersion"
-    static let currentSchemaVersion = 2
+    static let currentSchemaVersion = 3
 
     static let tagFontSize: Double = 22
     static let iconSize: Double = 80
@@ -22,9 +22,11 @@
             "hideAppNames": hideAppNames,
             "showDockIcon": showDockIcon,
             "launchAtLogin": launchAtLogin,
-            "showUncommonAppBubbles": showUncommonAppBubbles
+            "showUncommonAppBubbles": showUncommonAppBubbles,
+            LauncherHotkeyRegistrationStore.mainStateKey: LauncherHotkeyRegistrationState.active.rawValue,
+            LauncherHotkeyRegistrationStore.quickSearchStateKey: LauncherHotkeyRegistrationState.active.rawValue
         ])
-        migrateShortcutDefaultsIfNeeded()
+        removeShortcutCustomizationDefaults()
     }
 
     static func hasStoredValue(for key: String) -> Bool {
@@ -32,24 +34,18 @@
         return UserDefaults.standard.persistentDomain(forName: domain)?[key] != nil
     }
 
-    private static func migrateShortcutDefaultsIfNeeded() {
+    private static func removeShortcutCustomizationDefaults() {
         let defaults = UserDefaults.standard
-        guard defaults.integer(forKey: schemaVersionKey) < currentSchemaVersion else { return }
-
-        defaults.set(LauncherHotkey.defaultMain.serialized, forKey: LauncherHotkeyKind.main.storageKey)
-        defaults.removeObject(forKey: LauncherHotkeyKind.main.pendingStorageKey)
-        defaults.removeObject(forKey: LauncherHotkeyKind.main.statusKey)
-        defaults.removeObject(forKey: LauncherHotkeyKind.main.conflictMessageKey)
-
-        let quickSearchKey = LauncherHotkeyKind.quickSearch.storageKey
-        let storedQuickSearch = defaults.string(forKey: quickSearchKey) ?? ""
-        if storedQuickSearch.isEmpty {
-            defaults.set(LauncherHotkey.defaultQuickSearch.serialized, forKey: quickSearchKey)
-            defaults.removeObject(forKey: LauncherHotkeyKind.quickSearch.pendingStorageKey)
-            defaults.removeObject(forKey: LauncherHotkeyKind.quickSearch.statusKey)
-            defaults.removeObject(forKey: LauncherHotkeyKind.quickSearch.conflictMessageKey)
-        }
-
+        [
+            "mainHotkey",
+            "quickSearchHotkey",
+            "mainHotkeyPending",
+            "quickSearchHotkeyPending",
+            "mainHotkeyStatus",
+            "quickSearchHotkeyStatus",
+            "mainHotkeyConflictMessage",
+            "quickSearchHotkeyConflictMessage"
+        ].forEach { defaults.removeObject(forKey: $0) }
         defaults.set(currentSchemaVersion, forKey: schemaVersionKey)
     }
 }

--
Gitblit v1.9.3