5.3 KiB
5.3 KiB
UI Dashboard — Verification Checklist
Run through this checklist after every change that touches ui/ files.
Open the dashboard at http://localhost:<port> (or the gateway's configured UI URL).
Login & Shell
- Login gate renders when not authenticated
- Login with valid password grants access
- Login with invalid password shows error
- App shell loads: sidebar, header, content area visible
- Sidebar shows all tab groups: Chat, Control, Agent, Settings
- Sidebar collapse/expand works; favicon logo shows when collapsed
- Router: clicking each sidebar tab navigates and updates URL
- Browser back/forward navigates between tabs
- Direct URL navigation (e.g.
/chat,/overview) loads correct tab
Themes
- Theme switcher cycles through all 5 themes:
- Dark (Obsidian)
- Light
- OpenKnot (Aurora)
- Field Manual
- ClawDash (Chrome)
- Glass components (cards, panels, inputs) render correctly per theme
- Theme persists across page reload
Overview
- Overview tab loads without errors
- Stat cards render: cost, sessions, skills, cron
- Cards show accent color borders per kind
- Cards show hover lift + shadow effect
- Cards are clickable and navigate to corresponding tab
- Responsive grid: 4 columns → 2 → 1 at breakpoints
- Attention items render with correct severity icons/colors (error, warning, info)
- Event log renders with timestamps
- Log tail section renders live gateway log lines
- Quick actions section renders
- Redact toggle in topbar redacts/reveals sensitive values in cards
Chat
- Chat view renders message history
- Sending a message works and response streams in
- Markdown rendering works in responses (code blocks, lists, links)
- Tool call cards render collapsed by default
- Tool cards expand/collapse on click; summary shows tool name/count
- JSON messages render collapsed by default
- Delete message: trash icon appears on hover, click removes message group
- Deleted messages persist across reload (localStorage)
- Clear history button resets session via
sessions.resetRPC - Agent selector dropdown appears when multiple agents configured
- Switching agents updates session key and reloads history
- Session list panel: shows all sessions for current agent
- Session list: clicking a session switches to it
- Input history (up/down arrow) recalls previous messages
- Slash command menu opens on
/keystroke - Slash commands show icons, categories, and grouping
- Pinned messages render if present
Command Palette
- Opens via keyboard shortcut or UI button
- Fuzzy search filters commands as you type
- Results grouped by category with labels
- Selecting a command executes it
- "No results" message when nothing matches
- Clicking overlay closes palette
- Escape key closes palette
Agents
- Agent tab loads agent list
- Agent overview panel: identity card with name, ID, avatar color
- Agent config display: model, tools, skills shown
- Agent panels: overview, status/files, tools/skills tabs work
- Tab counts show for files, skills, channels, cron
- Sidebar agent filter input filters agents in multi-agent setup
- Agent actions menu: "copy ID" and "set as default" work
- Chip-based fallback input (model selection): Enter/comma adds chips
Channels & Instances
- Channels tab lists connected channels
- Instances tab lists connected instances
- Host/IP blurred by default in Connected Instances
- Reveal toggle shows actual host/IP values
- Nostr profile form renders if nostr channel present
Privacy & Redaction
- Topbar redact toggle visible; default is stream mode on
- Redact ON: sensitive values masked in overview cards
- Redact ON: cost digits blurred
- Redact ON: access card blurred
- Redact ON: raw config JSON masks sensitive values with count badge
- Redact OFF: all values visible
Config
- Config tab renders current gateway configuration
- Config form fields editable
- Sensitive config values masked when redact is on
- Config analysis view loads
Other Tabs
- Sessions tab loads session list
- Usage tab loads usage statistics with styled sections
- Cron tab lists cron jobs with status
- Skills tab lists skills with status report
- Nodes tab loads
- Debug tab renders debug info
- Logs tab renders
i18n
- English locale loads by default
- All visible strings use i18n keys (no hardcoded English in templates)
- zh-CN locale keys present
- zh-TW locale keys present
- pt-BR locale keys present
Responsive & Mobile
- Sidebar collapses on narrow viewport
- Bottom tabs render on mobile breakpoint
- Card grid reflows: 4 → 2 → 1 columns
- Chat input usable on mobile
- No horizontal overflow on any tab at 375px width
Build & Tests
pnpm buildcompletes without errorspnpm testpasses — specificallyui/test files:app-gateway.node.test.tsapp-settings.test.tsconfig-form.browser.test.tsconfig.browser.test.tschat.test.ts
- No new TypeScript errors:
pnpm tsgo - No lint/format issues:
pnpm check