Skip to content

Conversation

@hannesrudolph
Copy link
Collaborator

@hannesrudolph hannesrudolph commented Dec 30, 2025

Fixes user-configured rate limiting (client-side throttling in the extension) being surfaced as a Provider Error.

  • Add non-error say type api_req_rate_limit_wait and render it as a status row
  • Wait for the configured rate-limit delay before emitting api_req_started (prevents overlapping spinners)
  • Ensure the rate limit wait row completes correctly (no stuck spinner)
  • Add/adjust tests and i18n strings

Before
image
image

AFTER
image
image


Important

Fixes rate limit wait display by introducing api_req_rate_limit_wait status and updating task handling and UI components.

  • Behavior:
    • Introduces api_req_rate_limit_wait as a non-error status in runTask.ts and message.ts.
    • Delays api_req_started emission until after rate-limit wait in Task.ts to prevent overlapping spinners.
    • Ensures rate limit wait row completes without a stuck spinner in ChatRow.tsx.
  • UI Components:
    • Updates ChatRow.tsx and ChatView.tsx to handle api_req_rate_limit_wait status.
    • Adds ChatRow.rate-limit-wait.spec.tsx for testing rate limit wait display.
  • Internationalization:
    • Adds rateLimitWait string to multiple locale files for i18n support.
  • Tests:
    • Adds tests in Task.spec.ts to verify rate limit wait behavior and message emission.

This description was created by Ellipsis for 37bc97b. You can customize this summary. It will automatically update as commits are pushed.

@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. bug Something isn't working labels Dec 30, 2025
@roomote
Copy link
Contributor

roomote bot commented Dec 30, 2025

Oroocle Clock   See task on Roo Cloud

Re-review complete. No net new issues found; 1 previously flagged item remains.

  • Avoid rendering a blank padded row for completed api_req_rate_limit_wait (either filter it out in ChatView or render a completed row in ChatRow and update tests).
Previous reviews

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

"streaming": "Permintaan API...",
"cancelled": "Permintaan API Dibatalkan",
"streamingFailed": "Streaming API Gagal",
"rateLimitWait": "Pembatasan rate",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typographical note: The new string "Pembatasan rate" mixes Indonesian with English. Consider localizing "rate" (e.g., "Pembatasan laju" or "Batasan kecepatan") to maintain consistency with the rest of the translations.

Suggested change
"rateLimitWait": "Pembatasan rate",
"rateLimitWait": "Pembatasan laju",

This comment was generated because it violated a code review rule: irule_C0ez7Rji6ANcGkkX.

@hannesrudolph hannesrudolph changed the title Fix provider rate limit wait display Fix rate limit wait display Dec 30, 2025
@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Dec 30, 2025
User-configured rate limiting is not an error/retry signal and should not
mark the API as unstable in eval runner.
@hannesrudolph hannesrudolph moved this from Triage to PR [Needs Review] in Roo Code Roadmap Dec 30, 2025
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Dec 30, 2025
@hannesrudolph hannesrudolph added PR - Needs Review and removed Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. labels Dec 30, 2025
Changed the rate limit wait countdown from a hardcoded English string to
a structured JSON payload for i18n-safe transport. The frontend ChatRow
component now parses the JSON to extract the seconds value, enabling proper
internationalization through the existing rateLimitWait translation key.
@roomote
Copy link
Contributor

roomote bot commented Dec 30, 2025

Fixaroo Clock   See task on Roo Cloud

Fixed the indentation issue in the maybeWaitForProviderRateLimit method. All local checks passed.

View commit | Revert commit

@mrubens
Copy link
Collaborator

mrubens commented Dec 30, 2025

I think passing JSON is better than parsing the English string, but I'm on my phone and haven't tested to make sure the latest commit works.

@mrubens
Copy link
Collaborator

mrubens commented Dec 31, 2025

@roomote fix the test. We hide the row now when the rate limiting is complete.

@roomote
Copy link
Contributor

roomote bot commented Dec 31, 2025

Fixaroo Clock   See task on Roo Cloud

Fixed the test to verify the rate limit row is hidden when complete. All local tests passed.

View commit | Revert commit

@mrubens mrubens merged commit ca1bc18 into main Dec 31, 2025
10 checks passed
@mrubens mrubens deleted the rate-limit-display-fix branch December 31, 2025 05:56
@github-project-automation github-project-automation bot moved this from PR [Needs Review] to Done in Roo Code Roadmap Dec 31, 2025
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Dec 31, 2025
@roomote roomote bot mentioned this pull request Dec 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working lgtm This PR has been approved by a maintainer PR - Needs Review size:L This PR changes 100-499 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants