From f9a234eb417a3077055add739e72c3b06542a268 Mon Sep 17 00:00:00 2001 From: Mattzi Date: Mon, 27 Jul 2026 16:10:36 +0200 Subject: [PATCH] Fix RX going dead after ~60 minutes, bump to 1.4.0-beta.8 The hourly JWT refresh POST could be submitted and then never complete - no success callback, no error callback. Since mRefreshTokenTimer is only re-armed inside _authenticationCallback, that left APISession stuck in Reconnecting permanently with no retry. The old token expired a minute later, transceiver updates started returning 401, the server dropped the client's transceiver registration, and RX went dead while TX kept working over the already-established UDP channel. Only a manual reconnect recovered it. Fixed in afv-native (see submodule): curl connect/transfer timeouts so a stalled request cannot hang forever, the share-handle lock callbacks libcurl requires for cross-thread use, and a refresh that retries with backoff while the token still has runway instead of either hanging silently or tearing down a live session. Also updates backend/package-lock engines, which was stale against backend/package.json, and the trackaudio-afv tarball integrity for the rebuilt native module. Note that pnpm install rewrites the trackaudio-afv specifier with Windows path separators when the backend is built on Windows. Kept as forward slashes here so the Linux and macOS CI builds still resolve it. --- backend/extern/afv-native | 2 +- backend/package-lock.json | 2 +- backend/src/Shared.cpp | 2 +- package.json | 2 +- pnpm-lock.yaml | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/extern/afv-native b/backend/extern/afv-native index 1bbf764..841effa 160000 --- a/backend/extern/afv-native +++ b/backend/extern/afv-native @@ -1 +1 @@ -Subproject commit 1bbf7646dfda4c626fab2247e4d3ae2b507aea1c +Subproject commit 841effac363a2bed3160267dc58c3e91f746d330 diff --git a/backend/package-lock.json b/backend/package-lock.json index 7d23114..5c1e2e1 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -13,7 +13,7 @@ "node-addon-api": "^8.0.0" }, "engines": { - "node": ">=22.0.0 <=23.0.0" + "node": ">=24.0.0 <25.0.0" } }, "node_modules/bindings": { diff --git a/backend/src/Shared.cpp b/backend/src/Shared.cpp index ae14056..57ed2ab 100644 --- a/backend/src/Shared.cpp +++ b/backend/src/Shared.cpp @@ -2,7 +2,7 @@ #include "Helpers.hpp" #include -const semver::version VERSION = semver::version { 1, 4, 0, semver::prerelease::beta, 7 }; +const semver::version VERSION = semver::version { 1, 4, 0, semver::prerelease::beta, 8 }; const std::string CLIENT_NAME = std::string("TrackAudio-") + VERSION.to_string(); std::unique_ptr mClient = nullptr; diff --git a/package.json b/package.json index e3b06e1..3b89349 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "trackaudio", "productName": "TrackAudio", - "version": "1.4.0-beta.7", + "version": "1.4.0-beta.8", "main": "./out/main/index.js", "author": "github.com/pierr3", "description": "TrackAudio - Audio for VATSIM Client", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8a45131..28f6a74 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2939,9 +2939,9 @@ packages: engines: {node: '>=14.14'} trackaudio-afv@file:backend/trackaudio-afv-1.0.0.tgz: - resolution: {integrity: sha512-Nn/4QvgQEcBzPQ+sld+4dw9KvfjrbDJ2M+nf0S3pikqEgE0CZeqGKbssTYqvjbXV86xLwNQcA0GnFwbLaBqvRQ==, tarball: file:backend/trackaudio-afv-1.0.0.tgz} + resolution: {integrity: sha512-YhJvymzJgftlli91IItk5KfSkJVMpyyXgeMRNOm6SAKNHq5BqPkl0s+zT1ponBW1vlm2Xc4FOv35Qq+ukknQ4w==, tarball: file:backend/trackaudio-afv-1.0.0.tgz} version: 1.0.0 - engines: {node: '>=22.0.0 <=23.0.0'} + engines: {node: '>=24.0.0 <25.0.0'} truncate-utf8-bytes@1.0.2: resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==}