Commit graph

15 commits

Author SHA1 Message Date
Ashwin Kumar Sivakumar
2637c549a9 fix(deps,types): resolve vitest/eslint version drift, fix JSX type error
All checks were successful
build-and-release / build (push) Successful in 2m19s
Steps 7/8 of the live-server runbook (npm run lint / tsc --noEmit)
surfaced two unrelated pre-existing issues:

- node_modules/eslint was 10.1.0 despite package.json declaring
  ^8.57.1 and package-lock.json correctly recording 8.57.1 - a
  legacy .eslintrc.cjs config can't run under ESLint v9+, which
  dropped the old config format by default. Root cause: @vitest/browser
  and @vitest/coverage-v8 were still pinned to ^3.2.4 while vitest
  itself had been bumped to ^4.1.1, an internal peer-dependency
  conflict that forced node_modules into an inconsistent state
  whenever anyone ran npm install without --legacy-peer-deps. Bumped
  both to ^4.1.4 to resolve the conflict at its source, then a clean
  npm install correctly restored eslint@8.57.1.

- ExploreServicesPage.tsx's RoleCard.Icon field was typed as
  "(props) => unknown", which TypeScript correctly refuses to accept
  as a JSX component ('card.Icon' cannot be used as a JSX component).
  lucide-solid's actual icon components return solid-js's JSX.Element
  (confirmed via node_modules/lucide-solid's own .d.ts) - fixed the
  annotation to match reality instead of loosening it.

lint: 0 errors (293 pre-existing warnings elsewhere in src/, untouched
by this session, left as tracked debt per the runbook's own bar).
tsc --noEmit --skipLibCheck: exits 0.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-14 00:57:31 +05:30
Tracewebstudio Dev
40e79f2d01 fix: ESLint, SolidJS reactivity bugs, role workflow bug fixes
All checks were successful
build-and-release / build (push) Successful in 2m16s
ESLint:
- Downgrade eslint v10 → v8.57.1 (compatible with @typescript-eslint v7 + eslint-plugin-solid)
- Fix .eslintrc.cjs: remove invalid require() calls, update to valid rule set
- Add npm run lint script

SolidJS solid/prefer-for (18 fixes across 3 files):
- OpportunityGraph.tsx: EDGES.map() → <For> with reactive visible/drawing signals
- PortfolioPage.tsx: services.map() and experience.map() → <For>
- DashboardDesignPreview.tsx: 15 .map() calls → <For> (stats, packages, timeline,
  testimonials, quick actions, step tabs, pills, form fields, status lists, buttons,
  counters, filter tabs)

Role workflow bug fixes (from full role audit):
- cover_letter → cover_note in job applications (field name canonical fix)
- applicant_user_id field name fix in shortlisted candidates
- CompanyApplicationsPage: GET → POST for contact unlock endpoint
- CreditsPage: /payments/history → /payments/invoices; response key data.data
- CreditsPage: holds response key data.data (not data.holds)
- ProfessionalResponsesPage: requirement_id → lead_id, decision_at → resolved_at
- PortfolioPage: data.items → data.data; fix vacuous-truth in form completion check;
  saveProfessionalForm: check res.ok before showing success
- CustomerBrowseProfessionalsPage: professional_role_code → profession_key
- MyDashboardPage: professional prefix split('_')[0] not replace('_','')

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-12 13:38:38 +02:00
Ashwin Kumar Sivakumar
7a0799f1d1 Fix security audit finding: replace fake client-side captcha
All checks were successful
build-and-release / build (push) Successful in 2m5s
The captcha on login and all four signup forms was generated and
checked entirely in the browser (answer readable via window global),
so it provided no real bot/brute-force protection. Wire up the new
server-side captcha endpoint instead: fetch a challenge on mount,
submit captcha_id + captcha_answer with login/register, and refresh
the challenge on CAPTCHA_FAILED.

Also bump patchable dependency vulnerabilities via npm audit fix
(all criticals resolved; remainder needs an upstream SolidStart/vinxi
bump not yet available).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 17:32:43 +05:30
Tracewebstudio Dev
f386b0c298 chore: checkpoint workspace updates 2026-04-26 23:58:43 +02:00
Ashwin Kumar
01d37fb109 fix: add missing @tailwindcss/vite dependency 2026-04-09 05:41:11 +02:00
Ashwin Kumar
fa7683477f fix: correct invalid package versions in devDependencies 2026-04-09 05:00:34 +02:00
Ashwin Kumar
f990b9a9e0 feat: comprehensive testing infrastructure (without workflow pending token scope)
- Add vitest, Playwright, ESLint, Prettier configs
- Add unit tests and e2e accessibility/visual tests
- Add MSW mocks and test setup
- Update scripts and .gitignore
- Install required dev dependencies

Note: GitHub Actions workflow will be added after token scope is granted.
2026-04-08 02:43:29 +02:00
Ashwin Kumar
86e1bbd268 fix: resolve solid-markdown build error
- Update solid-markdown from ^0.5.0 to ^2.1.1 (old version no longer exists)
- Replace Markdown component with innerHTML rendering for help center articles
- Build now succeeds without errors
2026-04-07 12:55:15 +02:00
Ashwin Kumar
d3630dbaa8 feat: use solid-markdown for Help Center article rendering
- Added solid-markdown dependency
- Replaced manual paragraph splitting with Markdown component
- Articles now render proper markdown (headings, lists, links, etc.)
- Improves readability and matches reference implementation
2026-04-06 18:39:32 +02:00
Ashwin Kumar
a8ad2b0620 chore: sync latest dashboard and role flow updates 2026-04-05 16:52:02 +02:00
Ashwin Kumar
2cd4cdcec3 chore: update package configuration 2026-03-26 20:57:53 +01:00
Ashwin Kumar
8d7cd3b9ef Refactor admin routes and add Storybook/Vitest setup 2026-03-26 06:18:07 +01:00
Ashwin Kumar
f16c7eb4dd feat: add users and companies dashboard route surfaces 2026-03-25 22:13:11 +01:00
Ashwin Kumar
9c10ef3bc6 test(frontend): add vitest tdd coverage for login redirect and role switch visibility 2026-03-19 00:58:29 +01:00
Ashwin Kumar
6083f0e0fa feat(frontend): add solidstart runtime onboarding renderer 2026-03-16 23:46:21 +01:00