From f6277821216390d417195af0860eca0e8d8e37ae Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Fri, 26 Jun 2026 18:09:11 +0800
Subject: [PATCH] Archive 8.1.0 App Store release

---
 src/Apptag/ApptagApp.swift |   26 +++++++++++++++++++++++---
 1 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/src/Apptag/ApptagApp.swift b/src/Apptag/ApptagApp.swift
index f0df77a..c5b38a3 100644
--- a/src/Apptag/ApptagApp.swift
+++ b/src/Apptag/ApptagApp.swift
@@ -193,8 +193,10 @@
     func applicationDidFinishLaunching(_ notification: Notification) {
         AppDefaults.register()
         L10n.setup()
+        ProEntitlementCenter.shared.start()
         migrateDefaultGroupName()
         TagDatabase.seedDefaultTags()
+        _ = TagDatabase.relocalizeSystemTagsForCurrentLanguage()
         syncChromeSettings(force: true)
         observeHotkeyStatusChanges()
         registerConfiguredHotkeys()
@@ -1667,9 +1669,13 @@
             forName: .tagLauncherOpenPreferencesRequested,
             object: nil,
             queue: .main
-        ) { [weak self] _ in
-            self?.openPreferences()
+        ) { [weak self] notification in
+            self?.openPreferences(targetTab: Self.preferencesTabTarget(from: notification))
         }
+    }
+
+    private static func preferencesTabTarget(from notification: Notification) -> String? {
+        notification.userInfo?[SettingsTabTarget.userInfoKey] as? String
     }
 
     private func observeExternalActivationRequests() {
@@ -1691,6 +1697,10 @@
     }
 
     @objc private func openPreferences(_ sender: Any? = nil) {
+        openPreferences(targetTab: nil)
+    }
+
+    private func openPreferences(targetTab: String?) {
         dismissQuickSearchIfNeeded()
         TagDatabase.flushPendingCategorySchemeBackupBatch()
         if overlayAvoidsSpaceSwitch {
@@ -1706,6 +1716,7 @@
 
         if let settingsWindow {
             prepareSettingsWindow(settingsWindow)
+            requestPreferencesTabSelection(targetTab)
             return
         }
 
@@ -1716,12 +1727,21 @@
             defer: false
         )
         window.title = tr("menu.preferences").replacingOccurrences(of: "…", with: "")
-        window.contentView = NSHostingView(rootView: PreferencesView())
+        window.contentView = NSHostingView(rootView: PreferencesView(initialTabRawValue: targetTab))
         window.isReleasedWhenClosed = false
         settingsWindow = window
         prepareSettingsWindow(window)
     }
 
+    private func requestPreferencesTabSelection(_ targetTab: String?) {
+        guard let targetTab else { return }
+        NotificationCenter.default.post(
+            name: .tagLauncherPreferencesTabRequested,
+            object: nil,
+            userInfo: [SettingsTabTarget.userInfoKey: targetTab]
+        )
+    }
+
     private func dismissQuickSearchIfNeeded() {
         guard isQuickSearchOpen else { return }
         isQuickSearchOpen = false

--
Gitblit v1.9.3