chore: add ESLint and document known product limitations - #20
Conversation
|
Warning Review limit reached
Next review available in: 46 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@eslint.config.js`:
- Around line 16-20: Update the warnings() helper to downgrade only an explicit
stylistic-rule allowlist, leaving correctness rules at their configured error
severity; specifically preserve react-hooks/exhaustive-deps as error. Ensure
enabled rules outside that allowlist are not converted to warnings, while
retaining the existing handling of rule options.
In `@README.md`:
- Around line 45-47: Update the deployment section identified by its live
deployment heading so it consistently communicates that solarsim.tech is
currently offline. Either rename the heading to indicate the offline status or
add the existing status warning alongside the historical URLs and service
details, without presenting them as operational.
In `@RUNBOOK.md`:
- Around line 460-461: Update the troubleshooting table separator row in
RUNBOOK.md to contain exactly three separator cells, matching the three-column
header; remove the extra trailing separator cell.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 813deaf9-3b1b-4a7c-af8c-753ac585ad04
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (16)
README.mdRUNBOOK.mdbackend/src/services/__tests__/fluxRecomputeService.test.tsbackend/src/services/__tests__/locationPipeline.test.tsbackend/src/services/chat/__tests__/digest.test.tsbackend/src/services/locationService.tsbackend/src/services/solarApiService.tseslint.config.jsfrontend/src/hooks/usePanelState.tsfrontend/src/pages/PrivacyPage.tsxfrontend/src/pages/__tests__/AnalyticsPage.test.tsxfrontend/src/pages/__tests__/DashboardPage.test.tsxfrontend/src/pages/__tests__/ProjectsPage.test.tsxfrontend/src/pages/__tests__/SignUpPage.test.tsxfrontend/src/pages/__tests__/WorkbenchPage.test.tsxpackage.json
| > [!WARNING] | ||
| > **The live deployment is currently offline.** The Supabase project backing `solarsim.tech` is paused pending a database provider migration (tracked in open issues). Everything below still describes the shipped product — clone it and run the local quickstart to see it working. | ||
|
|
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Keep the deployment status consistent throughout the README.
This warning says solarsim.tech is offline, but the deployment section at Lines 307-313 still presents the same URLs and services as the “Live deployment.” Rename that section to indicate the deployment is currently offline, or add the same status warning there so readers do not mistake the historical deployment details for an operational service.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` around lines 45 - 47, Update the deployment section identified by
its live deployment heading so it consistently communicates that solarsim.tech
is currently offline. Either rename the heading to indicate the offline status
or add the existing status warning alongside the historical URLs and service
details, without presenting them as operational.
First shipped work from the Phase 12 revival plan. Two independent tasks, both QA-approved.
Add a linter (#14)
The repo had no linter.
pnpm lintwasprettier --checkagainst eight hardcoded config files, whilepnpm formatwrote the whole repo — so "lint" checked almost nothing and didn't match "format" in scope.typescript-eslint+eslint-plugin-react-hooks, coveringshared/,backend/,frontend/, andservices/pdf-service/eslint-config-prettierkeeps them from fightingerrorand stylistic oneswarn— a linter that fails on first run on a mature codebase just gets disabled--max-warnings 68, so new warnings fail the run@typescript-eslint/no-explicit-anypromoted toerror(verified zero-hit), enforcing a project rule that was previously documented but unenforcedprettier(git show HEAD:<file>)Document known limitations (#13)
A
Known Limitationssection covering the four genuine, current constraints: approximate panel placement, uneven Solar API coverage, NEM figures being an estimate rather than a utility quote, and deferred real-device mobile testing. Resolved issues were deliberately excluded rather than padding the list.Also a temporary notice that the live deployment is offline pending the database migration.
Verification
eslint .→ exit 0 (0 errors, 68 warnings)prettier --check .→ exit 0pnpm typecheck→ exit 0pnpm test→ 211 frontend, 117 backend — matches baseline exactlypnpm install --frozen-lockfileresolves clean; CI runs onlybuild+test, so zero blast radiusCloses #13
Closes #14
Summary by CodeRabbit
Documentation
Chores