learning_ai_common_plat/dashboards/tracker-web
Saravanakumar D 0799f69c30 feat(fleet-web): harden budget bar, surface SSE polling, allow checkpoint in patchJob
- budget page: guard spend bar against missing/zero ceiling (no NaN width);
  show an explicit "no ceiling set" state. Add pure budgetUsagePct() helper.
- job detail: replace silent live/poll toggle with an explicit stream-mode
  badge (Live vs Polling) so operators see when SSE degrades to polling.
- fleet-client: extend patchJob to carry optional checkpoint/blockedReason
  matching the server PatchJobSchema; add FleetCheckpoint type.
- tests: unit cover budgetUsagePct + patchJob checkpoint forwarding; e2e
  asserts the polling indicator appears when the stream is unavailable.
- ci: add a Gitea Playwright e2e job that runs the fleet control-plane specs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-30 20:35:05 -07:00
..
docs docs(tracker-web): record backend enablers for UX-12.3/13.1 2026-05-29 07:31:55 -07:00
e2e feat(fleet-web): harden budget bar, surface SSE polling, allow checkpoint in patchJob 2026-05-30 20:35:05 -07:00
public feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
src feat(fleet-web): harden budget bar, surface SSE polling, allow checkpoint in patchJob 2026-05-30 20:35:05 -07:00
.bundlesizerc.json feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
.env.example feat(auth): SmartAuth tracker-web — OAuth proxy, MFA verify, login page with Google Sign-In 2026-03-12 11:15:44 -07:00
.env.local.example feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
.gitignore fix(tracker-web): format markdown + ignore e2e artifacts in prettier/git 2026-05-28 19:40:54 -07:00
.nvmrc feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
.prettierignore fix(tracker-web): format markdown + ignore e2e artifacts in prettier/git 2026-05-28 19:40:54 -07:00
Dockerfile fix(dashboards): restore runtime and expose internal ops health 2026-03-31 07:26:43 +00:00
eslint.config.mjs chore(tracker-web): add @bytelyst/ui UI-drift ratchet eslint rule (CC.6) 2026-05-28 20:39:20 -07:00
next.config.ts fix(tracker-web): replace broken webpack alias with transpilePackages — build now succeeds 2026-02-28 12:11:37 -08:00
package-lock.json feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
package.json feat(tracker-web): reduced-motion-aware motion polish (UX-7) 2026-05-29 07:12:31 -07:00
playwright.config.ts test(tracker-web): isolate e2e dev server 2026-05-30 19:36:07 +00:00
postcss.config.mjs feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
README.md fix(tracker-web): format markdown + ignore e2e artifacts in prettier/git 2026-05-28 19:40:54 -07:00
tsconfig.json feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
vercel.json feat(dashboards): migrate admin + tracker dashboards to common-plat as product-agnostic 2026-02-28 02:17:35 -08:00
vitest.config.ts fix: resolve test failures across workspace 2026-05-30 00:16:44 -07:00

Tracker Dashboard

Web dashboard for the Tracker Service — manage feature requests, bugs, and tasks. Built with Next.js + Tailwind CSS + React.

Port

3003 (configurable in package.json scripts)

Pages

Route Description
/login Login via platform-service credentials
/dashboard Overview with stats by type, status, priority
/dashboard/items Items list with filtering, search, create, delete
/dashboard/board Kanban board with drag-free status transitions
/dashboard/items/[id] Item detail with edit, status/priority change, comments, votes

API Proxy Routes

Route Proxies to
/api/auth/login platform-service POST /api/auth/login
/api/auth/me platform-service GET /api/auth/me
/api/tracker/* tracker-service /api/*

Setup

cp .env.local.example .env.local   # fill in values
npm install
npm run dev                       # starts on port 3003

Environment Variables

See .env.local.example for required variables:

  • PLATFORM_API_URL — Platform service URL (default http://localhost:4003)
  • JWT_SECRET — Shared JWT secret
  • PRODUCT_ID — Product scope (e.g., lysnrai, chronomind, nomgap)