Skip to content

fix(ui): restore ThemeSelector and add error resilience testing#8042

Open
ThePriyanuj wants to merge 7 commits into
JhaSourav07:mainfrom
ThePriyanuj:fix/issue-6888-themeselector-clean
Open

fix(ui): restore ThemeSelector and add error resilience testing#8042
ThePriyanuj wants to merge 7 commits into
JhaSourav07:mainfrom
ThePriyanuj:fix/issue-6888-themeselector-clean

Conversation

@ThePriyanuj

@ThePriyanuj ThePriyanuj commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Description

Fixes #6888

This PR addresses the issue where ThemeSelector was causing an "Element type is invalid: expected a string... but got: undefined" crash. The component file was accidentally overwritten during previous testing. This PR restores the component implementation and adds a dedicated error resilience test suite (ThemeSelector.error-resilience.test.tsx) to guarantee the component renders gracefully even with invalid props, undefined themes, or unhandled child exceptions. It also resolves a merge conflict in route.ts.

Pillar

  • 🎨 Pillar 1 — New Theme Design
  • 📐 Pillar 2 — Geometric SVG Improvement
  • 🕐 Pillar 3 — Timezone Logic Optimization
  • 🛠️ Other (Bug fix, refactoring, docs)

Visual Preview

(No visual changes, fixes a crash)

Checklist before requesting a review:

  • I have read the CONTRIBUTING.md file.
  • I have tested these changes locally (localhost:3000/api/streak?user=YOUR_USERNAME).
  • I have run npm run format and npm run lint locally and resolved all errors (CI will fail otherwise).
  • My commits follow the Conventional Commits format (e.g., feat(themes): ..., fix(calculate): ...).
  • I have updated README.md if I added a new theme or URL parameter.
  • I have starred the repo.
  • I have made sure that I have only one commit to merge in this PR.
  • The SVG output matches the CommitPulse "premium quality" aesthetic standard (no raw elements, smooth animations, correct fonts).
  • (Recommended) I joined the CommitPulse Discord community for contributor discussions, mentorship, and faster PR support.

@github-actions github-actions Bot added the status:blocked This PR is blocked due to a failing CI check. label Jul 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🚨 Hey @ThePriyanuj, the CI Pipeline is failing on this PR and it has been marked as status:blocked.

Please fix the issues before this can be reviewed. Here's how:

1. Run checks locally before pushing:

npm run format:check   # Check Prettier formatting
npm run lint           # Run ESLint
npm run typecheck      # TypeScript type check
npm run test           # Run unit tests (Vitest)
npm run build          # Verify production build passes

2. Auto-fix common issues:

npm run format         # Auto-fix formatting with Prettier
npm run lint -- --fix  # Auto-fix lint errors where possible

3. Check the full failure log here:
👉 View CI Run

Once you push a fix and the CI passes, the status:blocked label will be removed automatically. 💪

@ThePriyanuj

Copy link
Copy Markdown
Contributor Author

/unclaim

@Aamod007 Aamod007 added level:intermediate Moderate complexity tasks quality:clean PR follows clean coding practices, proper formatting, documentation, and maintainability standards. type:bug Something isn't working as expected mentor:Aamod007 labels Jul 15, 2026

@Aamod007 Aamod007 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The CI checks (Format / Lint / Typecheck / Test) are currently failing and the PR is marked as blocked. Please fix the failing checks so we can proceed with the review.

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Hey @ThePriyanuj, this pull request has been inactive for 3 days. It will be automatically closed in 2 days if no further activity occurs.

If you are still working on this, please push your latest changes or leave a comment to keep it active.

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

Labels

level:intermediate Moderate complexity tasks mentor:Aamod007 quality:clean PR follows clean coding practices, proper formatting, documentation, and maintainability standards. status:blocked This PR is blocked due to a failing CI check. type:bug Something isn't working as expected

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(ThemeSelector-error-resilience): verify Hydration Stability, Exception Safety & Error Fallbacks (Variation 6)

2 participants