From ffc50a6b927afd16601e0bc01a53d76ae6069ba3 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Wed, 03 Jun 2026 21:22:41 +0800
Subject: [PATCH] Refresh app index for quick search
---
Apptag/ContentView.swift | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/Apptag/ContentView.swift b/Apptag/ContentView.swift
index f29d986..0fbfc7f 100644
--- a/Apptag/ContentView.swift
+++ b/Apptag/ContentView.swift
@@ -731,6 +731,7 @@
quickSearchErrorMessage = nil
quickSearchFocusToken &+= 1
refreshQuickSearchResults()
+ refreshApps()
NotificationCenter.default.post(
name: .tagLauncherQuickSearchVisibilityChanged,
object: nil,
@@ -777,7 +778,10 @@
private func refreshQuickSearchResults() {
let previousSelection = quickSearchSelectedID
- quickSearchResults = QuickSearchEngine.search(quickSearchQuery, documents: quickSearchDocuments)
+ quickSearchResults = QuickSearchEngine.search(
+ quickSearchQuery,
+ documents: quickSearchDocuments.filter { FileManager.default.fileExists(atPath: $0.app.path.path) }
+ )
if quickSearchResults.isEmpty {
quickSearchSelectedID = nil
@@ -2369,7 +2373,7 @@
}
}
- func refreshApps(forceLayoutRefresh: Bool = false) {
+ func refreshApps(forceLayoutRefresh: Bool = false, useCache: Bool = true) {
guard !refreshInProgress else {
if forceLayoutRefresh {
refreshAgainAfterCurrent = true
@@ -2380,7 +2384,7 @@
refreshInProgress = true
DispatchQueue.global(qos: .userInitiated).async {
- let result = AppLibraryController.refresh()
+ let result = AppLibraryController.refresh(useCache: useCache)
DispatchQueue.main.async {
applyAppLibrarySnapshot(result.snapshot)
handleSmartStartRunResult(result.smartStartResult)
@@ -2417,6 +2421,13 @@
) {
appGridInteraction.appDragModeActive = false
endTagNavReorder()
+ guard FileManager.default.fileExists(atPath: app.path.path) else {
+ AppIndexer.invalidateScanCache()
+ refreshApps()
+ onFailure?()
+ return
+ }
+
let closeQuickSearchAndOverlayBeforeOpening = closeQuickSearchOnSuccess
&& closeOverlayOnSuccess
&& (quickSearchCloseHidesOverlay || quickSearchOnlySession)
--
Gitblit v1.9.3