Skip to content

fix(api): propagate database errors correctly with 500 status code#1884

Merged
Priyanshu-byte-coder merged 4 commits into
Priyanshu-byte-coder:mainfrom
panditshubham766-dotcom:fix/api-error-masking
Jun 3, 2026
Merged

fix(api): propagate database errors correctly with 500 status code#1884
Priyanshu-byte-coder merged 4 commits into
Priyanshu-byte-coder:mainfrom
panditshubham766-dotcom:fix/api-error-masking

Conversation

@panditshubham766-dotcom
Copy link
Copy Markdown
Contributor

Summary

Fixed a critical backend issue where several API routes were catching database/query failures but hiding them by returning a 200 OK status with empty fallback data. Unhandled exceptions now correctly propagate as a 500 Internal Server Error to prevent the frontend from misinterpreting database failures as successful empty responses.

Closes #1792


Type of Change

  • Bug fix

Changes Made

  • Audited caught exceptions across 11 affected API routes (including local-coding, notifications, user accounts, and wakatime endpoints).
  • Replaced silent 200 error-masking blocks with proper NextResponse.json error payloads containing a 500 status code.
  • Carefully preserved legitimate 200 empty states (like empty pins data or unconfigured profiles) so normal application behavior remains uninterrupted.

How to Test

  1. Break the local database connection configuration intentionally.
  2. Hit the updated endpoints (e.g., /api/local-coding/stats).
  3. Verify via the network tab that the API rejects the request with a clean 500 Internal Server Error payload instead of a fake 200 OK.

@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 2, 2026

@panditshubham766-dotcom 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:bug GSSoC type bonus: bug fix labels Jun 2, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

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 level:beginner GSSoC: Beginner difficulty (20 pts) labels Jun 3, 2026
@Priyanshu-byte-coder Priyanshu-byte-coder added quality:clean GSSoC: Clean quality multiplier (×1.2) level:intermediate GSSoC: Intermediate difficulty (35 pts) labels Jun 3, 2026
@Priyanshu-byte-coder Priyanshu-byte-coder merged commit e4ff79b into Priyanshu-byte-coder:main Jun 3, 2026
9 of 10 checks passed
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

🎉 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 level:beginner GSSoC: Beginner difficulty (20 pts) level:intermediate GSSoC: Intermediate difficulty (35 pts) quality:clean GSSoC: Clean quality multiplier (×1.2) type:bug GSSoC type bonus: bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: API routes silently masking database errors with 200 OK responses

2 participants