Report Cursor terminal PING timeouts as failed turns and reconcile Cursor usage - #3216
Open
Flame119052 wants to merge 1 commit into
Open
Report Cursor terminal PING timeouts as failed turns and reconcile Cursor usage#3216Flame119052 wants to merge 1 commit into
Flame119052 wants to merge 1 commit into
Conversation
Flame119052
force-pushed
the
fix/cursor-ping-turn-failure-and-usage
branch
from
September 7, 2026 14:14
645ec4b to
2483938
Compare
…rsor usage Cursor transport failures arrived as agent text with stopReason end_turn, so BB recorded them as completed turns. Track terminal Cursor error text per turn and fail the turn legibly instead. Also surface the dashboard total and bonus-spend windows, tolerate string-encoded percentages, and make the sidebar bootstrap survive transient startup outages.
Flame119052
force-pushed
the
fix/cursor-ping-turn-failure-and-usage
branch
from
September 7, 2026 14:25
2483938 to
e2e4093
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Human comments
What was wrong
Cursor cloud transport failures (
RetriableError: [unavailable] PING timed out) arrive over ACP as agent message text withstopReason: end_turn, so BB recorded the turn as completed instead of failed: a silent fake-success with no error notification and no retry path. Separately, the Cursor usage mapping dropped the dashboard total (totalPercentUsed) and bonus spend, rejected string-encoded percentages, and the sidebar bootstrap had no recovery for transient startup outages.What changed
packages/provider-bridge-acp/src/bridge/bridge.ts: track terminal Cursor error text per turn; a turn ending with exactly the PING timeout text now fails legibly with an error notification. Gated to the Cursor dialect,\\n\\nError:prefix, 512-char cap, and no trailing recovery text.packages/provider-bridge-acp/src/bridge/provider-maintenance.ts: surfaceTotal usageandBonus spendwindows from the live dashboard response; accept string-encoded percentages.apps/app/src/hooks/queries/sidebar-navigation-query.ts: retry transient/502-504 bootstrap failures with backoff plus polling recovery.plugins/provider-acp: rename toprovider-acp-opencode-native, wire Grok/OpenCode native usage maintenance.How you verified
@bb/provider-bridge-acp: 325 passed (18 files), including 8 new PING-normalization cases and 3 new usage cases.turbo run typecheck --filter=@bb/provider-bridge-acp --filter=@bb/app: pass.plugins/provider-acpserver suite: 18 passed. (public-sdk-onlyflags pre-existing local build artifacts in the worktree only; unaffected files.)cursor-agent acpprobe: connection and tool-use checks pass, so the timeout is transient Cursor-side, not a BB misconfiguration.