Skip to content

fix(server): stop background status fetches after repeated timeouts - #57

Closed
macodev00 wants to merge 1 commit into
mainfrom
cursor/stop-status-fetch-timeout-redo-0198
Closed

macodev00 wants to merge 1 commit into
mainfrom
cursor/stop-status-fetch-timeout-redo-0198

Conversation

@macodev00

Copy link
Copy Markdown
Owner

What Changed

Background upstream refresh stops polling a remote after three consecutive git fetch timeouts. Silent credential-helper success is unchanged. An explicit pull, push, or fetch still runs, and a success resumes background refresh.

When that stop is active and the cached branch is not behind, Git actions offer Pull (web and desktop menu, and the primary button when the branch otherwise has nothing to do; mobile overview and header do the same).

Why

GitVcsDriver.fetchRemoteForStatus fetches with a 5s timeout. On macOS, Homebrew git uses credential.helper=osxkeychain. After a git upgrade the helper can raise a Security-framework password dialog that those 5s kills before Always Allow can be stored. Failures were backed off forever (30s up to 15 minutes), so the prompt kept returning.

Clearing credential.helper on every background fetch would also drop silent keychain and gh auth git-credential success. The background env is unchanged. Explicit git pull --ff-only still has no non-interactive env and a 30s timeout, so the dialog can be approved.

UI Changes

Git actions show “Upstream status needs attention. Pull to refresh it.” Pull is available in that state even when the cached branch is not behind, which is what resumes the background fetch.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Fixes pingdotgg#13912

Open in Web Open in Cursor 

Background upstream refresh retried git fetch forever after the 5s timeout, so a macOS keychain prompt from git-credential-osxkeychain kept returning. After three consecutive timeouts, polling that remote stops. Pull stays available when the cached branch is not behind, and a successful pull, push, or fetch resumes background refresh.

Fixes pingdotgg#13912
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL labels Sep 28, 2026
@macodev00

Copy link
Copy Markdown
Owner Author

Opened upstream.

@macodev00 macodev00 closed this Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Background status fetch triggers a macOS Keychain password prompt through git-credential-osxkeychain and retries it every 15 minutes

1 participant