Commit Graph

438 Commits

Author SHA1 Message Date
itsrubberduck
04b2ec1e4f Add classroom feedback implementation plan
6 tasks covering audio speed, UI fixes, phonetics, and METAR normalization.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 14:08:43 +01:00
itsrubberduck
d866404490 Add classroom feedback integration design doc
Documents all user feedback issues and planned fixes for audio speed,
METAR normalization, phonetics, and UI text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 14:06:44 +01:00
itsrubberduck
77ecd49334 feat(flightlab): sidebar, progress bars, skip speech, SimBridge telemetry & auth
- Add collapsible sidebar with phase stepper (jump between phases)
- Add SimBridge conditions panel in sidebar (live values, progress bars, targets)
- Add global progress bar (top edge, glowing) + phase-local TTS progress bar
- Add skip button to skip TTS speech while ATC is speaking
- Add skipSpeech() to audio composable (stops current Pizzicato sound)
- Wire up bridge data.post.ts with user auth (JWT) + example payload
- Add server-side telemetry store with pub/sub for Bridge→WS relay
- Extend WS handler with subscribe-telemetry message + userId tracking
- Extend sync composable with subscribeTelemetry() + onTelemetry() callback
- Add require-auth middleware to all flightlab pages
- Fix instructor station ECONNREFUSED via import.meta.client guard
- Add animations: phase transitions, button lists, fade-scale, check-pop, pulse

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 10:14:33 +01:00
itsrubberduck
2efa24f7f5 umalute fixen 2026-02-13 18:49:56 +01:00
itsrubberduck
a915af4398 dont log users id on transmission 2026-02-13 18:44:34 +01:00
itsrubberduck
b73746d843 fix(flightlab): use ~~ alias for shared imports instead of relative paths
Vite cannot resolve ~/../../shared - use ~~/shared which maps to project root.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 18:08:21 +01:00
itsrubberduck
25378db177 fix(flightlab): resolve TypeScript strict null checks in engine composable
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 18:01:05 +01:00
itsrubberduck
61811d0804 feat(flightlab): add audio directory with README for cockpit sound effects
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:49:15 +01:00
itsrubberduck
494acdc8c5 feat(flightlab): add instructor control panel with full scenario control
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:48:58 +01:00
itsrubberduck
ef382cadbe feat(flightlab): add participant view with scripted phases, TTS, and session sync
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:47:41 +01:00
itsrubberduck
28ef1b8ba8 feat(flightlab): add landing page with scenario selection grid
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:46:38 +01:00
itsrubberduck
9923cbbd5d feat(flightlab): add WebSocket sync composable for instructor-participant sessions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:45:45 +01:00
itsrubberduck
fad56ee28d feat(flightlab): add WebSocket handler for instructor-participant session sync
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:45:18 +01:00
itsrubberduck
4696885f8b feat(flightlab): add audio composable with TTS radio effects and ambient cockpit sounds
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:44:33 +01:00
itsrubberduck
ea878662f8 feat(flightlab): add scenario engine composable with phase navigation and progress tracking
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:23:32 +01:00
itsrubberduck
f778f60ac9 feat(flightlab): add complete takeoff EDDF scenario with all phases and comfort branches
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:23:05 +01:00
itsrubberduck
e8b36177ed feat(flightlab): add type definitions for FlightLab scenario engine
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:20:26 +01:00
itsrubberduck
db715aeddf chore: add .worktrees to gitignore 2026-02-13 14:18:29 +01:00
itsrubberduck
6c18e07cd9 feat(flightlab): add detailed implementation plan with 11 tasks
Covers types, scenario data, engine/audio/sync composables,
WebSocket server, participant/instructor pages, and integration testing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:12:27 +01:00
itsrubberduck
79ddefd612 Add FlightLab takeoff experience design document
Design for guided A320 takeoff scenario targeting people with flight
anxiety. Covers scripted phases, WebSocket instructor sync, audio
pipeline, and tablet-optimized UI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 14:03:13 +01:00
itsrubberduck
fa8ebbf2fa fix pm 2026-02-13 08:50:59 +01:00
itsrubberduck
d90b494334 fix pm 2026-02-13 08:50:02 +01:00
Remi
ff6c546163 Translate unsubscribe page to English 2025-11-21 00:09:51 +01:00
Remi
93fed93d41 Add unsubscribe endpoint and email footers 2025-11-20 23:29:44 +01:00
itsrubberduck
43cd53780d merge 2025-11-20 21:28:57 +01:00
Remi
040783f679 Style feedback drip email like invites 2025-11-20 21:26:55 +01:00
Remi
55e02aca6c Add waitlist drip cron route 2025-11-20 21:10:50 +01:00
itsrubberduck
6e04501c4d add todo for najan 2025-10-19 21:03:52 +02:00
Remi
3dee67b3a5 Add bidirectional airport geocode and name-aware taxi routing 2025-10-19 19:17:18 +02:00
Remi
cc7e4927e4 Remove explicit type hints from airport geocode lookup 2025-10-19 19:07:23 +02:00
Remi
9d43c69539 Infer airport geocode types from query text 2025-10-19 19:00:32 +02:00
Remi
c8e35a140e Add airport geocode endpoint 2025-10-19 18:56:48 +02:00
itsrubberduck
e8b9a9ee81 better form 2025-10-19 17:39:10 +02:00
Remi
f1165531e1 Add optional notes field to hero signup 2025-10-19 17:39:09 +02:00
Remi
0c8a9b24ab Align hero signup with waitlist endpoint 2025-10-19 17:39:09 +02:00
Remi
aa50e345a7 Populate user notes from waitlist entry 2025-10-19 17:35:30 +02:00
itsrubberduck
4dc273bab3 Merge branch 'codex/fix-readback-field-validation-issue' 2025-10-19 16:48:41 +02:00
itsrubberduck
4a5ba4033c change footer linsk 2025-10-19 16:48:33 +02:00
Remi
c6c67e00a0 Tighten readback matching and add classroom home link 2025-10-19 16:12:52 +02:00
Remi
7dc6c97e04 Merge pull request #249 from OpenSquawk/codex/add-button-control-feature
Add roadmap item for button-controlled transmissions
2025-10-19 08:43:30 +02:00
Remi
77c7325c59 Add button-controlled roadmap item 2025-10-19 08:43:17 +02:00
itsrubberduck
17e84baf55 Merge branch 'codex/analyze-taxi-route-api-response' 2025-10-18 21:50:45 +02:00
Remi
e22d5314f7 Refine taxiway collapse and radius default 2025-10-18 21:47:54 +02:00
Remi
6db100b65f Adjust taxi route collapse rules 2025-10-18 21:47:54 +02:00
Remi
0ffbfa7baf Preserve raw taxi route names 2025-10-18 21:47:53 +02:00
Remi
d6d1d26acf Refine taxiway collapse and radius default 2025-10-18 21:46:55 +02:00
Remi
b602a16cef Brighten high-readability profiles and default to level 5 2025-10-18 21:39:23 +02:00
Remi
5b12888212 Loosen readability 4-5 filters for clarity 2025-10-18 21:33:52 +02:00
Remi
dc9881be22 Adjust taxi route collapse rules 2025-10-18 21:33:43 +02:00
Remi
86727e7749 Normalize taxi routes for clearer speech 2025-10-18 21:29:56 +02:00