Commit Graph

  • 971fd371b6 chore: adopt OpenSquawk community source license release itsrubberduck 2026-08-01 21:04:14 +02:00
  • 70186482f4 fix(classroom): keep footer in document flow itsrubberduck 2026-07-30 20:19:40 +02:00
  • 2c5c2d5239 feat(classroom): show the full curriculum and raise the mastery bar itsrubberduck 2026-07-30 20:08:55 +02:00
  • e627d7be3b docs(classroom): design for raising classroom production value itsrubberduck 2026-07-30 19:16:55 +02:00
  • 9685103453 fix(routing): send /bridge to the Bridge download page itsrubberduck 2026-07-30 19:03:10 +02:00
  • 67e8d3573c fix(routing): give /bridge a page instead of a 404 itsrubberduck 2026-07-30 18:58:09 +02:00
  • 3cd754962c fix(routing): redirect before rendering, not while rendering itsrubberduck 2026-07-30 08:55:03 +02:00
  • 49090d37f7 feat(classroom): show local speech bridge connection status in settings itsrubberduck 2026-07-29 09:21:08 +02:00
  • 3488b54aa4 feat(classroom): use local speech bridge for instructor TTS when available itsrubberduck 2026-07-29 08:54:13 +02:00
  • 4cc88a9f81 docs(plans): add design for classroom local speech bridge support itsrubberduck 2026-07-29 08:41:31 +02:00
  • f08e8f5a96 fix(routing): catch the paths the split left pointing at nothing main itsrubberduck 2026-07-28 19:37:27 +02:00
  • 676779895d testcommit itsrubberduck 2026-07-28 19:29:09 +02:00
  • 47cefc5f7b redirect fix itsrubberduck 2026-07-28 19:17:18 +02:00
  • 56d3c991d7 fix(sso): hand the issuer /auth/callback so the code gets redeemed itsrubberduck 2026-07-28 19:14:20 +02:00
  • d397e95b9d feat(scripts): Migration der app-eigenen Daten aus der Monolith-DB itsrubberduck 2026-07-28 08:20:37 +02:00
  • a4da7e76ee docs: Backend-Repo unter seinem aktuellen Namen nennen itsrubberduck 2026-07-28 08:02:32 +02:00
  • bce8875448 feat(flightlab): serve bridge telemetry to the website process itsrubberduck 2026-07-28 07:58:44 +02:00
  • d23b128d62 fix Node typings for TypeScript checks itsrubberduck 2026-07-27 21:26:04 +02:00
  • ed13b9f014 install state itsrubberduck 2026-07-27 21:16:23 +02:00
  • 24272f59d8 docs: document the self-hosted app stack itsrubberduck 2026-07-27 19:30:44 +02:00
  • c8c2365c4d refactor(split): make the app self-hosting ready itsrubberduck 2026-07-27 19:17:27 +02:00
  • 3ed3865ebb Merge branch 'codex/classroom-overhaul' itsrubberduck 2026-07-27 18:52:53 +02:00
  • 2b792eb57f refactor(split): decouple app from website in preparation for the repo split itsrubberduck 2026-07-27 18:46:34 +02:00
  • b470d805f8 Improve classroom readback tolerance itsrubberduck 2026-07-27 12:29:37 +02:00
  • 6ce79145e6 merge: classroom overhaul itsrubberduck 2026-07-27 11:55:08 +02:00
  • d6b2b328f6 feat(landing): align homepage with current alpha itsrubberduck 2026-07-27 11:46:39 +02:00
  • b299122d88 refactor(tools): forward the airport endpoints to the backend itsrubberduck 2026-07-27 11:30:52 +02:00
  • 30bf0d51c8 fix(classroom): restore audio-first prompt practice itsrubberduck 2026-07-27 11:15:01 +02:00
  • ed8fe7366d feat(live-atc): send the filed route so the clearance can grant it itsrubberduck 2026-07-27 11:12:43 +02:00
  • bc03b3f277 fix(classroom): surface callsign in compact lesson values itsrubberduck 2026-07-27 11:06:47 +02:00
  • f949b42eaa fix(classroom): compact mobile lesson footer itsrubberduck 2026-07-27 10:56:49 +02:00
  • 8fb186ef60 fix(classroom): keep pilot answers text-only itsrubberduck 2026-07-27 10:49:27 +02:00
  • dae8b122c9 feat(classroom): simplify guided learning interface itsrubberduck 2026-07-27 10:26:52 +02:00
  • e58c55cffc feat(classroom): rebuild curriculum and mastery assessment itsrubberduck 2026-07-27 10:26:45 +02:00
  • a27bd8a07b feat(frequency): offer the destination's stations, and mark what is out of range itsrubberduck 2026-07-27 10:17:29 +02:00
  • cf4b295cc6 feat(frequency): work out which stations are on offer and which are reachable itsrubberduck 2026-07-27 10:06:47 +02:00
  • c397ef6f95 test(live-atc): cover the wait auto-tune actually depends on itsrubberduck 2026-07-27 10:04:07 +02:00
  • f852c8f2d5 feat(live-atc): teach the rare events on demand itsrubberduck 2026-07-27 09:59:56 +02:00
  • 67541a48b6 fix(tts): keep a SID in one piece and speak the approach variant letter itsrubberduck 2026-07-27 01:37:19 +02:00
  • 1bd1aac76d feat(live-atc): optional auto-tune after a frequency handoff itsrubberduck 2026-07-27 00:51:53 +02:00
  • a40ce0a7eb fix(live-atc): arm the silence timer on readback states too itsrubberduck 2026-07-27 00:30:59 +02:00
  • 132f5faf9c fix(live-atc): stop swallowing "roger" while still dropping dead air itsrubberduck 2026-07-27 00:11:04 +02:00
  • d33bbbe4d6 test(tts): pin that bare waypoints are spoken as words itsrubberduck 2026-07-27 00:04:11 +02:00
  • 2a798b4452 feat(bug-reports): trace reports by code and tell Live ATC from Classroom itsrubberduck 2026-07-26 21:11:43 +02:00
  • 647d2d1ae0 fix(live-atc): keep the callsign visible on narrow screens itsrubberduck 2026-07-26 20:12:34 +02:00
  • 7f0443f70e fix(live-atc): match the D-registration to the aircraft class itsrubberduck 2026-07-26 20:05:04 +02:00
  • 9780ced052 feat(live-atc): drive ATIS letter, runway, QNH and wind from the resolved report itsrubberduck 2026-07-26 19:40:40 +02:00
  • 5de5f6c834 feat(atis): serve the resolved ATIS from /api/airports/:icao/atis itsrubberduck 2026-07-26 19:37:16 +02:00
  • e0dbb40f0e feat(atis): resolver core for reliable information letter and runway itsrubberduck 2026-07-26 19:32:59 +02:00
  • 9f43062805 fix(clearance): generate octal squawks and skip reserved codes itsrubberduck 2026-07-26 19:27:21 +02:00
  • 29dae9fdeb Route Live ATC entry through Bridge itsrubberduck 2026-07-23 08:31:41 +02:00
  • 87bf320512 Make classroom intro skip action more visible itsrubberduck 2026-07-22 21:41:21 +02:00
  • af59c2a1cf feat(live-atc): route TTS through local bridge with cloud fallback itsrubberduck 2026-07-22 20:32:04 +02:00
  • 714366019a feat(live-atc): route STT through local bridge with cloud fallback itsrubberduck 2026-07-22 20:30:24 +02:00
  • e6533afe3d feat(live-atc): local speech bridge discovery composable itsrubberduck 2026-07-22 20:27:32 +02:00
  • 3fdb5c9c43 bridge connct auferäumt itsrubberduck 2026-07-22 17:02:57 +02:00
  • f0f3ad4c1f feat(ui): declutter start, classroom header, live-atc & bridge itsrubberduck 2026-07-22 16:58:14 +02:00
  • d1ca35ffec feat(classroom): first-run nudge to continue after a readback itsrubberduck 2026-07-22 09:16:29 +02:00
  • 48ebb0e8c2 feat(ui): clearer onboarding across start, classroom, live-atc & bridge itsrubberduck 2026-07-22 08:47:21 +02:00
  • 3b267bb45a fix(classroom): force English (US) voice for browser TTS default itsrubberduck 2026-07-19 19:42:35 +02:00
  • 9eb670c0c4 feat(live-atc): manual flight entry on setup screen itsrubberduck 2026-07-19 19:37:53 +02:00
  • a53442b1d1 fix(tts): back to fast Piper controllers, classroom voice setting itsrubberduck 2026-07-19 12:36:19 +02:00
  • 8c9bb2f988 feat(tts): curated Kokoro+Piper radio voices, classroom instructor from pool itsrubberduck 2026-07-19 11:50:30 +02:00
  • 70260cac1e feat(tts): dedicated ATIS broadcast voice on Speaches itsrubberduck 2026-07-19 11:22:44 +02:00
  • 73be2a3b84 fix(voice-pool): avalanche hash bits before pool modulo itsrubberduck 2026-07-19 11:09:38 +02:00
  • 1731690095 feat(live-atc): squelch open/close transients around transmissions itsrubberduck 2026-07-19 10:49:56 +02:00
  • a5545d2084 feat(live-atc): per-position controller personas with voice and pace itsrubberduck 2026-07-19 10:48:19 +02:00
  • 2a8875a7f3 feat(tts): map logical pool voices to distinct Piper speakers on Speaches itsrubberduck 2026-07-19 10:45:49 +02:00
  • 2fec78df91 feat: add complete SEO metadata and indexing controls itsrubberduck 2026-07-18 21:29:31 +02:00
  • e004843aa9 feat(live-atc): forward aircraft position, un-throttle bridge polling itsrubberduck 2026-07-18 20:48:09 +02:00
  • 34e3787164 fix(websim): keep bridge connected in background tabs, fix PFD clipping and layout itsrubberduck 2026-07-16 23:48:18 +02:00
  • 3fe431ea47 fix(live-atc): stop ATC from repeating/looping and hanging on silent frequencies itsrubberduck 2026-07-16 23:47:52 +02:00
  • 3c284716bb fix(websim): authenticate bridge connection in dev itsrubberduck 2026-07-16 19:05:59 +02:00
  • 4799b2b89f feat(websim): browser A320 cockpit to test /live-atc without MSFS (WIP) itsrubberduck 2026-07-16 18:49:31 +02:00
  • a49cd577e4 fix(sim-control): narrow SimControlParseResult via type predicates itsrubberduck 2026-07-16 17:51:09 +02:00
  • 70f0b26d90 feat(live-atc): add simulated AI background traffic on the tuned frequency itsrubberduck 2026-07-16 17:46:52 +02:00
  • ab04411bc5 feat(sim-control): wire frequency-sim-control command channel end-to-end itsrubberduck 2026-07-15 09:31:17 +02:00
  • e18995d7cd feat(sim-control): add fail-closed intent parser for frequency-driven sim setup itsrubberduck 2026-07-14 17:47:21 +02:00
  • 44b1f28bc4 fix(stt): anchor callsign digits verbatim, fuzzy only the airline name itsrubberduck 2026-07-14 17:47:11 +02:00
  • 469912a9c2 chore(live-atc): add dev-only, opt-in API mock for driving /live-atc offline itsrubberduck 2026-07-11 09:55:19 +02:00
  • 5885d6f267 milstone 5 itsrubberduck 2026-07-10 17:35:44 +02:00
  • e307ad6dfc feat(live-atc): add CockpitShell — HUD header + body layout itsrubberduck 2026-07-10 16:56:19 +02:00
  • 0487da4273 feat(live-atc): add TextInputPanel, LastTransmissionCard, CommLogRail itsrubberduck 2026-07-10 16:48:45 +02:00
  • 20b73d3128 refactor(live-atc): extract FlightInfoSheet, SettingsSheet, BugReportDialog, DebugPanel itsrubberduck 2026-07-10 16:35:34 +02:00
  • 418f3c1e58 feat(live-atc): dock the expected-comm hint onto a round, glowing PTT pad itsrubberduck 2026-07-10 16:26:30 +02:00
  • f46834db3b feat(live-atc): put ACTIVE left of STANDBY, lighten the HUD action cluster itsrubberduck 2026-07-10 16:20:57 +02:00
  • 8764c59a01 feat(live-atc): add RadioPanel as the cockpit's primary frequency control itsrubberduck 2026-07-10 16:13:27 +02:00
  • 519a8d5a8c refactor(live-atc): extract setup steps to components, apply navy/radar skin itsrubberduck 2026-07-10 15:58:01 +02:00
  • 0f50ea788e refactor(live-atc): extract session controller to useLiveAtcSession itsrubberduck 2026-07-10 15:51:11 +02:00
  • f96d99dc32 refactor(live-atc): move scenario catalogue to shared/constants/scenarios.ts itsrubberduck 2026-07-10 15:45:11 +02:00
  • 1c0401a42c refactor(live-atc): extract session state to useSessionState itsrubberduck 2026-07-10 15:43:42 +02:00
  • 773cf6bb34 refactor(live-atc): extract debug simulation and trace inspectors to useDebugSimulation itsrubberduck 2026-07-10 15:37:20 +02:00
  • f2bf7862ea refactor(live-atc): drop unreachable decision-trace normalization itsrubberduck 2026-07-10 15:34:50 +02:00
  • f5d37bd384 refactor(live-atc): extract SimBridge telemetry sync and remote PTT to useSimBridgeSync itsrubberduck 2026-07-10 15:33:05 +02:00
  • 3b34fddd6a refactor(live-atc): extract bug-report capture/annotation to useBugReport itsrubberduck 2026-07-10 15:31:10 +02:00
  • 4aaee53147 refactor(live-atc): extract TTS/radio-effects speech to useRadioSpeech itsrubberduck 2026-07-10 15:29:04 +02:00
  • f8fc1d616b refactor(live-atc): extract PTT/mic recording and pre-rec buffer to usePttRecording itsrubberduck 2026-07-10 09:40:46 +02:00
  • 869fee08ba refactor(live-atc): extract ATIS playback/loop scheduling to useAtisPlayback itsrubberduck 2026-07-10 09:33:03 +02:00
  • bcc749bdb5 refactor(live-atc): extract frequency/preset management to useFrequencyPresets itsrubberduck 2026-07-10 09:25:30 +02:00
  • cc521ce8e0 feat(live-atc): add shared RadarBackdrop component for navy/radar visual language itsrubberduck 2026-07-10 09:13:10 +02:00