diff --git a/debian/changelog b/debian/changelog index 44ceecd7..c5f25829 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,7 @@ +gridtracker (1.22.1122) unstable; urgency=low + - WSPR decoding corrupting QSO data fix! +-- Tag Loomis Tue, 22 Nov 2022 00:00:00 -0000 + gridtracker (1.22.1119) unstable; urgency=low - New Internationalization support (Settings → General → Language) -- English, 简体中文, 繁體中文 with German and Spanish in the works diff --git a/gridtracker.spec b/gridtracker.spec index 2c76da14..552e63c3 100644 --- a/gridtracker.spec +++ b/gridtracker.spec @@ -40,6 +40,8 @@ DESTDIR=${RPM_BUILD_ROOT} make clean %license %{_docdir}/%{name}/ %changelog +* Tue Nov 22 2022 Tag Loomis - 1.22.1122-1 + - WSPR decoding corrupting QSO data fix! * Sat Nov 19 2022 Tag Loomis - 1.22.1119-1 - New Internationalization support (Settings → General → Language) -- English, 简体中文, 繁體中文 with German and Spanish in the works diff --git a/package.nw/gt_update.odt b/package.nw/gt_update.odt index e5247a5a..6e0dd3a6 100644 Binary files a/package.nw/gt_update.odt and b/package.nw/gt_update.odt differ diff --git a/package.nw/gt_update.pdf b/package.nw/gt_update.pdf index 523715db..67bb5031 100644 Binary files a/package.nw/gt_update.pdf and b/package.nw/gt_update.pdf differ diff --git a/package.nw/lib/gt.js b/package.nw/lib/gt.js index 83cf8671..05414d23 100644 --- a/package.nw/lib/gt.js +++ b/package.nw/lib/gt.js @@ -7,7 +7,6 @@ var gtVersion = parseInt(gtVersionStr.replace(/\./g, "")); var gtBeta = pjson.betaVersion; var g_startVersion = 0; -var g_readInternalQso = true; if (typeof localStorage.currentVersion != "undefined") { g_startVersion = localStorage.currentVersion; @@ -18,14 +17,6 @@ if (typeof localStorage.currentVersion == "undefined" || localStorage.currentVer localStorage.currentVersion = String(gtVersion); var gui = require("nw.gui"); gui.App.clearCache(); - - // If the version changed, the interanl qso file is possibly out of date so don't read it - // 1221010 introduced "|"s in DXCC, CQ and ITU g_tracker so older data is no longer valid - // update this number if anything in the internal_qso format has changed - if (gtVersion < 1221010) - { - g_readInternalQso = false; - } } var vers = String(gtVersion); @@ -81,7 +72,11 @@ var g_legendColors = {}; var g_adifLogSettings = {}; var g_msgSettings = {}; var g_receptionSettings = {}; -var g_receptionReports = {}; +var g_receptionReports = { + lastDownloadTimeSec: 0, + lastSequenceNumber: "0", + spots: {} +}; var g_N1MMSettings = {}; var g_log4OMSettings = {}; var g_dxkLogSettings = {}; @@ -7659,19 +7654,10 @@ function handleWsjtxWSPR(newMessage) addDeDx( newMessage.Grid, newMessage.Callsign, - false, - false, - false, "-", Number(newMessage.SR), timeNowSec(), - "Pwr:" + - newMessage.Power + - " Freq:" + - Number(newMessage.Frequency / 1000).formatMhz(3, 3) + - " Delta:" + - Number(newMessage.DT).toFixed(2) + - " Drift:" + + "Pwr:" + newMessage.Power + " Freq:" + Number(newMessage.Frequency / 1000).formatMhz(3, 3) + " Delta:" + Number(newMessage.DT).toFixed(2) + " Drift:" + newMessage.Drift, "WSPR", Number(newMessage.Frequency / 1000000).formatBand(), @@ -15684,51 +15670,61 @@ function mediaCheck() try { - if (fs.existsSync(g_NWappData + "internal_qso.json") && g_readInternalQso) + if (fs.existsSync(g_NWappData + "internal_qso.json")) { var data = JSON.parse(fs.readFileSync(g_NWappData + "internal_qso.json")); - g_tracker = data.tracker; - - if (typeof g_tracker.worked.px == "undefined") + if (g_startVersion == data.version) { - g_tracker.worked.px = {}; - g_tracker.confirmed.px = {}; - } + g_tracker = data.tracker; - if (typeof g_tracker.worked.pota == "undefined") - { - g_tracker.worked.pota = {}; - g_tracker.confirmed.pota = {}; - } - - g_QSOhash = data.g_QSOhash; - - for (var i in g_QSOhash) - { - if (typeof g_QSOhash[i].px == "undefined" || g_QSOhash[i].px == null) + if (typeof g_tracker.worked.px == "undefined") { - if (g_QSOhash[i].dxcc != -1) - { - g_QSOhash[i].px = getWpx(g_QSOhash[i].DEcall); - } - else - { - g_QSOhash[i].px = null; - } + g_tracker.worked.px = {}; + g_tracker.confirmed.px = {}; } - if (typeof g_QSOhash[i].pota == "undefined" || g_QSOhash[i].pota == null) + if (typeof g_tracker.worked.pota == "undefined") { - g_QSOhash[i].pota = []; + g_tracker.worked.pota = {}; + g_tracker.confirmed.pota = {}; } - g_QSOcount++; - if (g_QSOhash[i].confirmed) g_QSLcount++; - } + g_QSOhash = data.g_QSOhash; + for (var i in g_QSOhash) + { + if (typeof g_QSOhash[i].px == "undefined" || g_QSOhash[i].px == null) + { + if (g_QSOhash[i].dxcc != -1) + { + g_QSOhash[i].px = getWpx(g_QSOhash[i].DEcall); + } + else + { + g_QSOhash[i].px = null; + } + } + + if (typeof g_QSOhash[i].pota == "undefined" || g_QSOhash[i].pota == null) + { + g_QSOhash[i].pota = []; + } + + g_QSOcount++; + if (g_QSOhash[i].confirmed) g_QSLcount++; + } + } + else + { + clearLogFilesAndCounts(); + } fs.unlinkSync(g_NWappData + "internal_qso.json"); } + else + { + clearLogFilesAndCounts(); + } loadReceptionReports(); } catch (e) diff --git a/package.nw/package.json b/package.nw/package.json index 287ce83b..cec43451 100644 --- a/package.nw/package.json +++ b/package.nw/package.json @@ -1,7 +1,7 @@ { "name": "GridTracker", "product_string_do_not_use": "gridtracker", - "version": "1.22.1119", + "version": "1.22.1122", "betaVersion": "", "description": "GridTracker, an amateur radio companion", "author": "GridTracker.org",