From ec882219c842b7e29f508233e2b2d4eb312110ac Mon Sep 17 00:00:00 2001 From: Nico Ritschel Date: Thu, 26 Feb 2026 09:19:28 -0800 Subject: [PATCH] Suppress loading spinner during background diff sidebar refreshes The 2-second poll and file watcher were setting isLoading on every cycle, causing a visible spinner pulse in the sidebar. Only show the loading indicator for forced (user-initiated) refreshes now. --- macos/Sources/Features/GitDiff/GitDiffSidebarState.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/macos/Sources/Features/GitDiff/GitDiffSidebarState.swift b/macos/Sources/Features/GitDiff/GitDiffSidebarState.swift index 276d9fa401..39500cbacc 100644 --- a/macos/Sources/Features/GitDiff/GitDiffSidebarState.swift +++ b/macos/Sources/Features/GitDiff/GitDiffSidebarState.swift @@ -161,8 +161,11 @@ final class GitDiffSidebarState: ObservableObject { let start = DispatchTime.now().uptimeNanoseconds - isLoading = true - defer { isLoading = false } + // Only show the loading spinner for forced (user-initiated) refreshes, + // not for background poll/watch refreshes, to avoid visual pulsing. + let showLoading = force + if showLoading { isLoading = true } + defer { if showLoading { isLoading = false } } let root = await store.repoRoot(for: effectiveCwd.path) repoRoot = root