Simconnect FlightPlanActivated event firing too late

Version: 1.2.8.0

Frequency: Consistently

Severity: High

Marketplace package name: simconnect API

Context:

E.g. freeware NB21 Logger (flightsim.to) but all simconnect apps listening for FlightPlanActivated will be affected.

The EFB App isn’t firing the FlightPlanActivated event when the player clicks ‘load PLN from file’.

Instead the event is fired some random time later when the player eventually enters the sim.

The issue is any interaction on the World Map (particularly the EFB) will alter the flightplan information so the PLN information (even the filepath) is lost by the time the FlightPlanActivated event is fired.

Similar MSFS 2020 issue: MSFS2020 works as expected, firing the FlightPlanActivated event with the filepath to the original file, when that file is loaded in the sim.

Bug description:

FYI the FlightPlanActivated simconnect event essentially triggers a callback on PLN file load to which it passes the filepath to the PLN that was loaded.

The essential issue in MSFS2024 is firing the event too late, when the current MSFS2024 code has lost track of the PLN path. Given the design of the EFB, delaying the event makes the flightplan data then vulnerable to whatever other code on the World Map (incl the EFB app) is going to do BEFORE that FlightPlanActivated event gets fired and the PLN information is lost.

Repro steps:

  • Enter EFB, click ‘load PLN from file’. - the FlightPlanActivated event should fire with the filepath to the file that has just been loaded. It does in MSFS2020, but not in 2024.

  • Here’s an example of where this then causes an issue: if you now hit ‘File plan with ATC’ to get the loaded PLN to update the departure airport and runway on the World Map, the EFB will write a random runway into the ‘departure runway’ UI element (this is a separate bug, but not the key issue of this post.). IF you try and correct the runway to the one intended (as in the PLN), the sim will silently RESET the flightplan information to just the departure airport. Now when you hit FLY, the EFB/sim code attempts to serve it’s own version of the flightplan (now an empty flightplan with just the departure airport) to the FlightPlanActivated event and the PLN information is never communicated to the simconnect application.