title: "Launch timed out",
            html: "No response within 6s. Check the GCS container logs if your application has not launched.",
            icon: "warning"
          });
        }
      }
  
      async function launchQGC() {
        controller = new AbortController();
        setBusy(true);
  
        Swal.fire({
          title: "Launching QGroundControl…",
          html: "<small class='text-muted'>This can take a moment. You can cancel anytime.</small>",
          allowOutsideClick: false,
 