Files
ccs/ui
Tam Nhu Tran 4a77251021 feat(ui): hide dashboard self-polling internals via default filter
On real backend, the logs page was drowning in dashboard self-polling
noise — every `/api/logs` poll emitted a 149-stage `web-server:http`
trace, burying real provider activity.

- New workspace state `hideDashboardInternals` defaults ON. Entries
  whose `source` matches `/^web-server:/i` are filtered client-side
  before they reach the list.
- Toggle exposed in advanced filters as a labelled checkbox/switch with
  a one-line description, so users can opt in to see internals when
  debugging the dashboard itself.
- `clearAdvancedFilters` resets the toggle back to ON to keep the
  default signal-clean experience.
- Header stat strip (entries / traces / errors) wired through the shell.

Backend-side `web-server:*` instrumentation stays intact (still useful
for ops debugging) — just hidden from the user-facing log feed by
default.

Refs #1138, #1141, #1142
2026-04-30 14:31:32 -04:00
..

CCS Dashboard UI

React + TypeScript + Vite frontend for the CCS local dashboard.

This UI is served by the CCS web server and is accessed via:

ccs config

Development

From project root:

bun run dev

This starts the CCS server, opens a local browser URL, and prints bind/network details for the dashboard. If the runtime bind is reachable beyond loopback, CCS also prints an auth reminder.

For remote device access during development, run:

bun run dev -- --host 0.0.0.0

For local-only development, run:

bun run dev -- --host 127.0.0.1

From ui/ only (frontend dev server):

cd ui
bun run dev

Quality Commands

cd ui
bun run typecheck
bun run lint
bun run validate
bun run test:run

i18n

Dashboard localization uses react-i18next.

  • Main setup: ui/src/lib/i18n.ts
  • Locale helpers: ui/src/lib/locales.ts
  • Language switcher: ui/src/components/layout/language-switcher.tsx

For full architecture, conventions, and locale onboarding, see:


Notes

  • UI locale persistence uses browser localStorage key ccs-ui-locale.
  • Current supported locales are managed in ui/src/lib/locales.ts.
  • Current locales: en, zh-CN, vi.
  • Fallback locale is English (en).