Skip to content

[Bug] API rate limit (429) responses cause unrecoverable hangs #540

@Nsanjayboruds

Description

@Nsanjayboruds

Bug Description

When GitHub API requests hit rate limits (429 or secondary throttling responses), Scrum Helper does not recover gracefully. The report/repo fetch flow can stop progressing and leave the user in a stuck state until they manually retry later.

Steps to Reproduce

  1. Configure Scrum Helper with a GitHub account/token that is near or over API limits.
  2. Enable options that trigger multiple GitHub calls (for example: repo filtering and commit fetching).
  3. Click Generate (or trigger repo fetch repeatedly in a short time).
  4. Observe that once rate limiting is hit, the request flow fails and the UI does not reliably recover on its own.

Expected Behavior

When rate limiting occurs, the extension should:

  • Detect rate-limit responses clearly.
  • Show a user-friendly message (including when retry may be possible).
  • Retry safely with backoff, or fail gracefully without leaving the UI stuck.

Actual Behavior

  • Requests fail due to rate limiting.
  • The fetch/report flow may become stalled or appear hung.
  • Recovery often requires manual user action (refresh/retry later), with limited actionable feedback.

Additional Context

  • This is impactful for users in org/shared-token environments where API quota is consumed quickly.
  • The issue causes intermittent failures and poor UX during normal report generation.
  • Handling both classic rate-limit headers and secondary rate-limit behavior would improve reliability.

Contribution Checklist

  • I have searched existing issues to ensure this bug hasn't been reported
  • I have provided clear reproduction steps
  • I have included relevant environment details
  • I have described both expected and actual behavior

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions