Skip to content

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

Closed
macodev00 wants to merge 73 commits into
mainfrom
cursor/stop-status-fetch-timeout-baf2
Closed

macodev00 wants to merge 73 commits into
mainfrom
cursor/stop-status-fetch-timeout-baf2

Conversation

@macodev00

Copy link
Copy Markdown
Owner

What Changed

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

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, especially on window focus.

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 on web and desktop show “Upstream status needs attention. Pull to refresh it.” The mobile git header and overview say the upstream needs attention, and the overview offers Pull when the branch is not already behind.

Screenshots were not captured here; the browser panel is not available in this environment.

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 

aaditagrawal and others added 30 commits September 25, 2026 16:04
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…rotocol variables (pingdotgg#13492)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…and WSL backends (pingdotgg#13641)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
…gg#13705)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…13701)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…13685)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…gdotgg#13684)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…gdotgg#13698)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…equests (pingdotgg#13704)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…gg#13694)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ingdotgg#13688)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
pingdotgg#13693)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…oading it twice (pingdotgg#13683)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… in memory (pingdotgg#13686)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…he whole thread list (pingdotgg#13691)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Bil0000 and others added 27 commits September 26, 2026 03:09
…otgg#13339)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ents, and idle polls (pingdotgg#13756)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…g into memory (pingdotgg#13763)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ates per comparison (pingdotgg#13759)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ngdotgg#13761)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…le (pingdotgg#13765)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ingdotgg#13767)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…per (pingdotgg#13774)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…tgg#13764)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…th failed repacks (pingdotgg#13812)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…al (pingdotgg#13491)

Co-authored-by: eshaan Sood <eshaansood@192.168.1.14>
Co-authored-by: Gabriel De Andrade <30420087+gabrielelpidio@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#13736)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
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, stop polling that remote and report that upstream status needs attention. Explicit pull, push, and fetch still run, and a success resumes background refresh.

Fixes pingdotgg#13912

Co-authored-by: maco <macodev00@users.noreply.github.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Sep 27, 2026
@macodev00 macodev00 closed this Sep 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 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