Skip to content

feat(ui): keyboard shortcuts, perf monitor, toast system, theme toggle, WCAG a11y#305

Closed
natiixnt wants to merge 1 commit into
ruvnet:mainfrom
natiixnt:feat/ui-enhancements
Closed

feat(ui): keyboard shortcuts, perf monitor, toast system, theme toggle, WCAG a11y#305
natiixnt wants to merge 1 commit into
ruvnet:mainfrom
natiixnt:feat/ui-enhancements

Conversation

@natiixnt
Copy link
Copy Markdown

Summary

  • Keyboard shortcuts system - press ? for overlay with all shortcuts (1-8 tab switching, T theme, P perf monitor)
  • Performance monitor - real-time FPS, memory, latency with sparkline charts, draggable panel
  • Toast notification system - 4 types (success/error/warning/info), stacking, auto-dismiss with progress bar, pause on hover
  • Dark/light theme toggle - button in header, localStorage persistence, respects system preference
  • WCAG accessibility - skip-to-content link, ARIA roles/attributes on all tabs and panels, arrow key navigation, focus-visible outlines
  • ESLint config for UI directory with security and quality rules

Test plan

  • Open ui/index.html in browser, verify page loads without console errors
  • Press ? to open keyboard shortcuts overlay, press Esc to close
  • Press 1-8 to switch tabs, verify correct tab activates
  • Press P to toggle performance monitor, verify FPS/memory display
  • Press T to toggle dark/light theme, verify persistence across reload
  • Tab through navigation with keyboard, verify focus rings and arrow key navigation
  • Verify toast notifications appear on backend status changes
  • Run screen reader (VoiceOver) to verify ARIA landmarks and labels

…oggle, and WCAG accessibility

- Keyboard shortcuts overlay (press ? for help, 1-8 for tabs, T for theme, P for perf)
- Real-time performance monitor with FPS, memory, latency sparklines (draggable)
- Enhanced toast notification system with stacking, auto-dismiss, progress bars
- Dark/light theme toggle with localStorage persistence and system preference detection
- WCAG accessibility: skip-to-content link, ARIA roles/attributes on tabs and panels,
  arrow key navigation in tab bar, focus-visible outlines
- ESLint config for UI directory with security and quality rules
@ruvnet
Copy link
Copy Markdown
Owner

ruvnet commented May 17, 2026

Hi @natiixnt — the 5-PR UI stack (#305#306#307#308#309) all touch the same shared files (ui/.eslintrc.json, ui/app.js, ui/components/TabManager.js) plus PR-specific additions. Two requests:

  1. Pick a merge strategy. Either (a) squash all 5 into one comprehensive 'UI overhaul' PR with a single test plan, or (b) keep them stacked but rebase feat(ui): keyboard shortcuts, perf monitor, toast system, theme toggle, WCAG a11y #305 against current main first so the stack base is clean — then feat(ui): command palette, activity log, data export, fullscreen, connection status #306 against feat(ui): keyboard shortcuts, perf monitor, toast system, theme toggle, WCAG a11y #305, etc. Today they all fork from older main and will pairwise-conflict.

  2. Confirm the .claude-flow/agents/ changes are intentional.* I see those listed in the diffs — ui/ is the right scope, but agent-definition files under .claude-flow/agents/ and .claude/agents/ shouldn't be touched by UI feature work unless that's part of the scope.

The feature set is great — keyboard shortcuts, perf monitor, toasts, theme toggle, command palette, activity log, mobile PWA, URL routing, onboarding, i18n, accessibility — all directly useful. Once the rebase / squash is sorted I'll do a focused review on whichever shape you ship. Same comment going on #306#309.

@natiixnt
Copy link
Copy Markdown
Author

Consolidating into #620 per maintainer's request in the discussion above. The new PR is a fresh single branch off current main with all five feature sets (keyboard shortcuts/perf/toasts/theme/a11y, command palette/activity log/export/fullscreen/connection status, mobile/PWA/tests, routing/onboarding/idle/notifications, i18n/screenshot/settings/uptime). The .claude-flow/agents/* and .claude/agents/* out-of-scope edits are dropped. Test plan in #620 covers all features in one pass.

@natiixnt natiixnt closed this May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants