From e47223fbd1a6ec0c1ea417d36c4eff1feee93b81 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sat, 30 May 2026 17:01:31 +0800
Subject: [PATCH] Prepare 7.8.3 release package

---
 Apptag/AppGridCollectionView.swift |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/Apptag/AppGridCollectionView.swift b/Apptag/AppGridCollectionView.swift
index a37c414..54a218b 100644
--- a/Apptag/AppGridCollectionView.swift
+++ b/Apptag/AppGridCollectionView.swift
@@ -272,6 +272,7 @@
     private var lastLayoutSize: NSSize = .zero
     private var lastReportedBoundsOrigin: NSPoint?
     private var scrollUnfreezeWorkItem: DispatchWorkItem?
+    private var scrollActivityIsActive = false
 
     override var isFlipped: Bool { true }
 
@@ -385,14 +386,18 @@
     }
 
     private func handleScrollActivity() {
-        if coordinator?.setScrollBubbleDisabled(true) == true {
-            refreshVisibleRuntimeState()
+        if !scrollActivityIsActive {
+            scrollActivityIsActive = true
+            if coordinator?.setScrollBubbleDisabled(true) == true {
+                refreshVisibleRuntimeState()
+            }
+            coordinator?.onScrollActivity()
         }
-        coordinator?.onScrollActivity()
 
         scrollUnfreezeWorkItem?.cancel()
         let workItem = DispatchWorkItem { [weak self] in
             guard let self else { return }
+            self.scrollActivityIsActive = false
             self.replayPointerHover()
             if self.coordinator?.setScrollBubbleDisabled(false) == true {
                 self.refreshVisibleRuntimeState()

--
Gitblit v1.9.3