kitadmin
2dd6402c86
feat: React app shell with global styles and state-based routing (Task 8)
...
- index.css: brand CSS custom properties, .btn, input styles, .app-shell layout
- App.tsx: session token extraction from URL, /api/auth/me validation, 4-route shell
- main.tsx: renders App with StrictMode
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-30 02:07:19 +00:00
kitadmin
cf2081f643
fix(audio): correct re-play-after-stop bug, strengthen tests
...
Use pendingCancel flag (consumed once) to suppress stop-before-play while
allowing subsequent play() calls to proceed normally. Add afterEach timer
cleanup, re-play test, and behavioral assertion for off().
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-30 00:29:08 +00:00
kitadmin
f62490820a
feat: MorseAudioEngine with Web Audio API and event emitter
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-30 00:23:30 +00:00
kitadmin
1bfd5a22fe
test(morse): add missing coverage for DEFAULT_WPM, DEFAULT_TIMING, and derived timing fields
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-30 00:17:33 +00:00
kitadmin
f7ad8aa3cc
feat: morse data library with validation and challenge selection
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-30 00:10:58 +00:00
kitadmin
6e83b16c4b
feat: project scaffold — Vite + React + TS + test setup
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-30 00:06:14 +00:00