Commit Graph

285 Commits

Author SHA1 Message Date
itsrubberduck
5a25e212d7 fix(classroom): audio speed slider now actually changes playback speed with pitch correction
- Fix client: playbackRate was set to 1 for non-native-speed providers (Speaches/Piper),
  making the speed slider ineffective in the main Pizzicato audio path
- Fix server: pass speed parameter to Speaches TTS API
- Add pitch-preserving playback via MediaElementSourceNode when rate != 1,
  routing through the same Web Audio effects chain (radio filters, distortion, etc.)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 01:01:02 +01:00
itsrubberduck
ea51e1dcc3 feat(classroom): integrate user feedback — audio speed, METAR TTS, phonetics, UI fixes
- Lower default audio speed to 0.85x, extend slider range to 0.5-1.3x
- Add METAR normalization for intelligible TTS (wind, vis, clouds, temp, QNH)
- Expand SID/STAR suffix regex to handle spaces (SUGOL 2S)
- Add approach suffix phonetic expansion (ILS 08R Y → Yankee)
- Fix "Soll:" → "Expected:" in readback feedback
- Accept numeric values for pushback delay field
- Add news article documenting the changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 14:21:35 +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
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
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
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
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
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
b602a16cef Brighten high-readability profiles and default to level 5 2025-10-18 21:39:23 +02:00
Remi
86727e7749 Normalize taxi routes for clearer speech 2025-10-18 21:29:56 +02:00
itsrubberduck
9e4dc84f17 remove sdk feature 2025-10-18 15:26:39 +02:00
Remi
73e60e0cd7 Adopt AGPL v3 licensing 2025-10-18 14:03:14 +02:00
itsrubberduck
0ea1246221 remove tbd and add a license 2025-10-18 13:22:01 +02:00
itsrubberduck
e7f5749235 simplöify captchas 2025-10-18 12:58:41 +02:00
Remi
267d2d41f8 Refine aviation captcha UX on landing page 2025-10-18 12:41:02 +02:00
Remi
9bff05a03b Add aviation captchas to landing page forms 2025-10-18 12:24:58 +02:00
Remi
7d4cf5adc9 Guard classroom audio playback with tokens 2025-10-18 11:41:01 +02:00
itsrubberduck
3014754b65 replace repo url 2025-10-18 11:34:36 +02:00
itsrubberduck
cbbe902187 fix radiocall sign missing in mayday and panpan 2025-10-18 11:09:52 +02:00
Remi
5f6dc5c935 Add email guidance and show callsign for advanced lessons 2025-10-18 10:53:43 +02:00
itsrubberduck
51598b098a remove ungenutze pm 2025-10-14 11:15:54 +02:00
itsrubberduck
e05df1d9d8 remove sitelink from footer 2025-10-12 17:17:04 +02:00
Remi
a0d89a8b87 refactor: replace img tags with NuxtImg 2025-10-12 16:53:10 +02:00
itsrubberduck
cf23cf1fd3 fix admin/index 2025-10-12 16:42:03 +02:00
itsrubberduck
1a477701a7 update pm 2025-10-12 16:35:15 +02:00
itsrubberduck
87b2e3b215 merge 2025-10-12 15:42:18 +02:00
Remi
5a4fa7737d Add admin notes and deletion tools for users 2025-10-07 20:59:43 +02:00
itsrubberduck
9ec12e4775 change repo url 2025-10-07 14:39:03 +02:00
Remi
0bcaf85c23 Add waitlist invitation sending from admin 2025-10-07 12:34:02 +02:00
itsrubberduck
fd642ebad1 preview 2025-10-07 12:27:38 +02:00
Remi
04f02f554e Update bridge download states 2025-10-07 12:22:46 +02:00
itsrubberduck
195d8f95c0 hide cookie consent on login 2025-10-05 17:29:41 +02:00
Remi
914222a988 Improve mobile layout for registration form 2025-10-05 17:29:41 +02:00
itsrubberduck
b06b496c0a autofucs 2025-10-05 17:11:38 +02:00
Remi
a57f6a6409 Support prefilled register mode from query params 2025-10-05 17:11:38 +02:00
itsrubberduck
387c7993d4 classroom more ipad friendly 2025-10-05 17:02:12 +02:00
Remi
dd8bac3cc7 Improve classroom HUD responsiveness 2025-10-05 17:02:12 +02:00
itsrubberduck
951284b5da minor design adjustments 2025-10-05 16:45:58 +02:00