Skip to content

feat(language-breakdown): add error state for failed API requests#1647

Merged
Priyanshu-byte-coder merged 3 commits into
Priyanshu-byte-coder:mainfrom
joshnajojo12:feat/language-breakdown-error-state
May 31, 2026
Merged

feat(language-breakdown): add error state for failed API requests#1647
Priyanshu-byte-coder merged 3 commits into
Priyanshu-byte-coder:mainfrom
joshnajojo12:feat/language-breakdown-error-state

Conversation

@joshnajojo12
Copy link
Copy Markdown
Contributor

Summary

Adds a dedicated error state to the LanguageBreakdown component.

Previously, failed language statistics requests were silently ignored, causing users to see "No language data available" even when the request itself had failed.

This change ensures the component correctly distinguishes between:

  • Loading state
  • Empty data state
  • Failed request state

Closes #1627


Type of Change

  • Enhancement
  • Bug fix
  • Documentation update
  • Refactor / code cleanup

Changes Made

  • Added an error state using React state
  • Reset error state before each fetch request
  • Added handling for failed HTTP responses
  • Added handling for network failures
  • Displayed a user-friendly error message when language statistics cannot be loaded
  • Preserved the existing loading state
  • Preserved the existing empty-data state

How to Test

  1. Run the application locally.

  2. Navigate to the dashboard containing the Language Breakdown component.

  3. Verify language statistics render correctly when the API succeeds.

  4. Simulate an API failure or network failure.

  5. Verify the component displays:

    Failed to load language statistics. Please try again later.

  6. Verify empty datasets still display:

    No language data available.


Validation

  • npm run lint passes
  • npm run type-check passes
  • Self-reviewed the changes

Additional Notes

This improvement provides clearer feedback to users by distinguishing failed API requests from genuinely empty language datasets, improving overall user experience and debugging visibility.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 30, 2026

@joshnajojo12 is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature labels May 30, 2026
@github-actions
Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Thanks for your first PR on DevTrack! 🎉

A maintainer will review it within 48 hours. While you wait:

  • Make sure CI is passing (type-check + lint)
  • Double-check the PR description is filled out and the issue is linked
  • Feel free to ask questions in Discussions if you need help

If you find DevTrack useful, a ⭐ star on the repo is always appreciated — it helps the project grow and attract more contributors!

@Priyanshu-byte-coder Priyanshu-byte-coder added gssoc:approved GSSoC: PR approved for scoring level1 GSSoC Level 1 - Beginner (10 points) labels May 31, 2026
@Priyanshu-byte-coder Priyanshu-byte-coder merged commit 6675d93 into Priyanshu-byte-coder:main May 31, 2026
3 checks passed
@github-actions
Copy link
Copy Markdown

🎉 Merged! Thanks for contributing to DevTrack.

If the project has been useful to you, a ⭐ star on the repo is the easiest way to support it — it helps DevTrack get discovered by more developers.

Keep an eye on open issues for your next contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc:approved GSSoC: PR approved for scoring gssoc26 GSSoC 2026 contribution level1 GSSoC Level 1 - Beginner (10 points) type:feature GSSoC type bonus: new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] feat(language-breakdown): add dedicated error state for failed language statistics requests

2 participants