fix(ui): restore ThemeSelector and add error resilience testing#8042
fix(ui): restore ThemeSelector and add error resilience testing#8042ThePriyanuj wants to merge 7 commits into
Conversation
|
🚨 Hey @ThePriyanuj, the CI Pipeline is failing on this PR and it has been marked as 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 passes2. Auto-fix common issues: npm run format # Auto-fix formatting with Prettier
npm run lint -- --fix # Auto-fix lint errors where possible3. Check the full failure log here: Once you push a fix and the CI passes, the |
|
/unclaim |
Aamod007
left a comment
There was a problem hiding this comment.
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.
|
If you are still working on this, please push your latest changes or leave a comment to keep it active. |
Description
Fixes #6888
This PR addresses the issue where
ThemeSelectorwas 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 inroute.ts.Pillar
Visual Preview
(No visual changes, fixes a crash)
Checklist before requesting a review:
CONTRIBUTING.mdfile.localhost:3000/api/streak?user=YOUR_USERNAME).npm run formatandnpm run lintlocally and resolved all errors (CI will fail otherwise).feat(themes): ...,fix(calculate): ...).README.mdif I added a new theme or URL parameter.