Skip to content

AeroACARS v0.16.23

Choose a tag to compare

@github-actions github-actions released this 17 Jun 12:22
d72329c

v0.16.23 — Geplante Flugplan-Route auf der Karte korrigierbar (Route-Sync)

🇩🇪 Deutsch

Neu

  • „Route synchronisieren" im Cockpit — in jeder Flugphase. Korrigierst
    du deine Route in SimBrief (z. B. nach einem ATC-Reroute), lebt die
    korrigierte Strecke nur im NEUESTEN SimBrief-OFP — phpVMS/VPS und damit
    auch die In-App-Karte hielten bisher die alte. Der neue Button im
    aktiven Flug zieht den aktuellen SimBrief-OFP und übernimmt nur die
    Strecke
    (Routen-String, Navlog-Wegpunkte, ggf. Alternate). Die Karte
    zeigt sofort die korrigierte Route, und die Route wird an phpVMS gepostet
    (idempotenter Ersatz der bestehenden Route-Zeilen), damit Live-Map und
    PIREP-Detail die richtige geplante Strecke neben der geflogenen zeigen.

Warum das sicher ist

  • Es wird KEIN Score-Feld angefasst. Die OFP-Treue- und
    Landungs-Bewertung liest ausschließlich Sprit-/Gewichts-Felder (Block,
    Trip, Reserve, ZFW, TOW, LDW und die MAX-Werte) — niemals die Route. Der
    Route-Sync schreibt deshalb ausschließlich planned_route,
    planned_waypoints und (falls vorhanden) den Alternate. Block-Fuel,
    TOW, LDW, ZFW, die MAX-Werte, die OFP-Kennung und die Plan-Quelle bleiben
    byte-identisch. Ein Unit-Test vergleicht den vollen Zustand vor/nach dem
    Sync und lässt nur die Routen-Felder wandern.
  • Deshalb in jeder Phase erlaubt. Der bestehende OFP-Refresh (der die
    Sprit-/Gewichts-Werte aktualisiert) bleibt bewusst auf Preflight bis
    TaxiOut beschränkt, um die Loadsheet-/Score-Basis nach dem Takeoff nicht
    zu verschieben. Die Route ist kein Score-Feld — sie zu korrigieren ist
    immer unbedenklich.
  • Schutz gegen falsche Routen bleibt. Der Sync holt den OFP nur über
    den direkten SimBrief-Pfad und prüft Start/Ziel: passt der neueste OFP zu
    einem ANDEREN Flug (anderer Start/Ziel), wird hart abgebrochen — eine
    fremde Route kann nie auf deine Karte geraten. Einen stale-Fallback gibt
    es bewusst nicht.

Bequemlichkeit

  • SimBrief-Username automatisch aus dem phpVMS-Profil. Hast du in den
    AeroACARS-Einstellungen noch keinen SimBrief-Identifier hinterlegt, holt
    sich AeroACARS deinen SimBrief-Username aus deinem phpVMS-Profil (sofern
    dort gepflegt). Ein selbst eingetragener Identifier wird dabei NIE
    überschrieben — manuelle Einstellungen gewinnen immer. Fehlt beides,
    weist dich der Route-Sync mit einem klaren Hinweis darauf hin, den
    SimBrief-Username in den Einstellungen zu setzen.

Companion-Änderungen (separate Deployments)

Dieses Release ist die Client-Seite. Zwei begleitende Server-Änderungen
werden getrennt ausgerollt und sind nicht Teil dieses App-Updates:

  • VPS-Recorder: ein erneutes Laden der geplanten Route auf dem
    aeroacars-live-Recorder, damit die externe Live-Map dieselbe korrigierte
    Strecke übernimmt.
  • phpVMS /api/user: das Feld simbrief_username über das
    Profil-Endpoint ausliefern, damit das oben beschriebene Auto-Sourcing
    greift. Ohne diese Änderung funktioniert der Route-Sync weiterhin — der
    Pilot trägt seinen SimBrief-Username dann einfach selbst in den
    Einstellungen ein.

🇬🇧 English

New

  • "Sync route" in the cockpit — available in every flight phase. When
    you fix your route in SimBrief (e.g. after an ATC reroute), the corrected
    track lives only in your LATEST SimBrief OFP — phpVMS/VPS, and therefore
    the in-app map, kept the stale one. The new button on the active flight
    pulls the latest SimBrief OFP and applies only the route (route
    string, navlog waypoints, and the alternate if present). The map
    immediately shows the corrected route, and the route is posted to phpVMS
    (an idempotent replace of the existing route rows) so the live map and
    PIREP detail draw the right planned track alongside the flown one.

Why this is safe

  • No scored field is touched. OFP-fidelity and landing scoring read
    fuel/weight fields only (block, trip, reserve, ZFW, TOW, LDW and the MAX
    values) — never the route. The route sync therefore writes only
    planned_route, planned_waypoints and (if present) the alternate.
    Block fuel, TOW, LDW, ZFW, the MAX values, the OFP id and the plan source
    stay byte-identical. A unit test snapshots the full state before/after
    the sync and lets only the route fields move.
  • That's why it's allowed in any phase. The existing OFP refresh (which
    updates the fuel/weight values) deliberately stays Preflight–TaxiOut so
    it can't shift the loadsheet/score baseline after takeoff. The route is
    not a scored field — correcting it is always safe.
  • Wrong-route protection stays. The sync fetches the OFP via the direct
    SimBrief path only and verifies origin/destination: if your latest OFP is
    for a DIFFERENT flight (different origin/destination), it hard-aborts — a
    foreign route can never land on your map. There is deliberately no
    stale fallback.

Convenience

  • SimBrief username auto-sourced from your phpVMS profile. If you
    haven't set a SimBrief identifier in AeroACARS settings yet, AeroACARS
    picks up your SimBrief username from your phpVMS profile (when present).
    An identifier you set yourself is NEVER overwritten — manual settings
    always win. If neither is available, the route sync tells you clearly to
    set your SimBrief username in Settings.

Companion changes (separate deploys)

This release is the client side. Two companion server changes ship
separately and are not part of this app update:

  • VPS recorder: a re-fetch of the planned route on the aeroacars-live
    recorder so the external live map adopts the same corrected track.
  • phpVMS /api/user: exposing simbrief_username through the profile
    endpoint so the auto-sourcing above can kick in. Without it the route
    sync still works — the pilot simply enters their SimBrief username in
    Settings themselves.