No description
Find a file
Hardik 34143b5e75
Some checks failed
PR checks / checks (pull_request) Failing after 15s
PR checks / integration (pull_request) Successful in 41s
fix(reports): chart series all rendered one colour (RSC boundary bug)
The comparison charts (and detail-page breakdown swatches) rendered every
series in recharts' default colour instead of the per-item palette.

Root cause: `SERIES_COLORS` was defined in `components/reports/charts.tsx`,
which is a "use client" module. The report **pages are server components** and
imported the palette from it. A plain value imported from a client module into
a server component is a client-reference proxy, not the real array — so
`SERIES_COLORS[i % SERIES_COLORS.length]` was `SERIES_COLORS[NaN]` → undefined,
every line got `stroke={undefined}`, and recharts fell back to #3182bd. (The
literal `strokeWidth={2}` still applied, which is why only the colour was wrong.
It passed jsdom tests because those import the array directly, not across the
RSC boundary.)

Fix: move the palette to a dependency-free shared module `lib/report-colors.ts`
(no "use client", no server-only imports) that resolves to the real array in
both server and client graphs. `charts.tsx` and all four report pages import it
from there. It can't live in `lib/reports.ts` (that imports Prisma `db`, which
must not enter the client bundle).

Verified in a real browser: line strokes now cycle the 10-colour palette
(#2563eb, #16a34a, …) instead of a uniform #3182bd.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 12:31:40 +05:30
.claude seed(prod): trim SITES to geocoded entries only; update admin email 2026-05-31 02:44:37 +05:30
.forgejo fix(deploy): expand sparse checkout so microservices/ecosystem are on disk 2026-06-24 03:12:54 +05:30
App fix(reports): chart series all rendered one colour (RSC boundary bug) 2026-06-24 12:31:40 +05:30
automation test(staging): feature-level verification of closed issues + seeded test users 2026-06-24 11:49:48 +05:30
Docs test(staging): feature-level verification of closed issues + seeded test users 2026-06-24 11:49:48 +05:30
EpfoService test(crewing): cover EPFO stub contract + /api/epfo permission gate 2026-06-22 23:56:14 +05:30
GstService fix: preserve tracked request typing 2026-05-22 17:39:26 +05:30
PdfService feat(po): email PO to vendor — PDF link in an Outlook draft (#14) 2026-06-24 02:45:48 +05:30
Progress chore{perm}: Allow managers to confirm receipt 2026-06-15 11:49:14 +05:30
static fix(static): prevent mobile layout overflow 2026-05-22 18:11:31 +05:30
Wireframe chore(design-system): add PPMS design system reference and sync bundle 2026-06-22 04:30:22 +05:30
.gitattributes feat(automation): port issue watcher to bash for pms1 (cron, 24/7) 2026-06-19 04:32:06 +05:30
.gitignore @ 2026-06-19 13:56:50 +05:30
CHANGELOG.md docs: bring CLAUDE.md, README, Docs and CHANGELOG up to date with current product 2026-06-19 12:43:24 +05:30
ecosystem.config.js chore(deploy): build & (re)start microservices on release tag 2026-06-24 02:59:36 +05:30
generate_po.py chore(inventory): remove item detail page; move SiteSelect to shared components 2026-05-16 00:07:04 +05:30
inspect_po.py chore(inventory): remove item detail page; move SiteSelect to shared components 2026-05-16 00:07:04 +05:30
test-report-2026-05-17.md docs: consolidate design notes and test report 2026-05-22 17:15:38 +05:30

Docs — retired (moved to the wiki)

The design, architecture, and test documents that used to live here have been migrated to the project wiki and removed from the repo. The wiki is the living reference going forward.

Wiki: https://git.pelagiamarine.com/shad0w/pelagia-portal/wiki (working clone: pelagia-portal.wiki/ alongside this repo).

Where each retired doc went

Retired file Now in the wiki
01-design-document.md System/Architecture, Product/Workflows (user stories), Product/Design-System, Overview/Open-Questions
02-architecture.md System/Architecture (+ System/Data-Model, Ops/Deployment-and-Operations, Build-and-Run/Environment-Variables)
03-open-questions.md Overview/Open-Questions
DESIGN.md Product/Workflows, Product/Pages-and-Navigation, Product/Design-System
TEST_PLAN.md Quality/Test-Plan
e2e-test-framework.md Quality/E2E-Test-Framework
e2e-test-plan.md Quality/E2E-Test-Plan
PLAYRIGHT_TEST_DESIGN.md Quality/Playwright-Test-Design

The wiki's on-disk folder layout (Overview / Build-and-Run / System / Product / Quality / Ops) mirrors its sidebar hierarchy.

Keep current behaviour documented in the wiki, not here. Other authoritative in-repo sources remain: App/CLAUDE.md, App/README.md, automation/README.md, and CHANGELOG.md.