From a9fb428a0abc629b56633c792442a4ff8425b2bf Mon Sep 17 00:00:00 2001 From: rouggy Date: Sun, 30 Aug 2026 21:43:47 +0200 Subject: [PATCH] =?UTF-8?q?fix(chase):=20band/mode/slot=20needs=20finally?= =?UTF-8?q?=20dim=20=E2=80=94=20'worked'=20is=20not=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit spotEntityStatus says 'worked' when every grain is in the log; the unconfirmed check compared its all-ledger verdict against the empty string, so no band/mode/slot need ever dimmed however many unconfirmed QSOs stood behind it — only the entity-level NEW, tested by map presence, behaved. The check now runs for exactly the four needy statuses and asks for 'worked'. --- app.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/app.go b/app.go index fcde381..e8939f5 100644 --- a/app.go +++ b/app.go @@ -20590,13 +20590,20 @@ func (a *App) ClusterSpotStatuses(spots []SpotQuery) []SpotStatus { // A need judged against the confirmed ledger that the all-QSO ledger // says was already worked is a missing QSL, and its badge should read // as one. Judged at the SAME grain as the status itself. - if idx.chaseUnconf && out[i].Status != "" { - if eAll, ok := entities[dxccNum]; ok { - _, bAll := eAll.Bands[out[i].Band] - _, mAll := eAll.Modes[checkMode] - _, sAll := eAll.Slots[out[i].Band][checkMode] - if spotEntityStatus(true, bAll, mAll, sAll, out[i].Mode) == "" { - out[i].UnconfStatus = true + switch out[i].Status { + case "new-band-mode", "new-band", "new-mode", "new-slot": + if idx.chaseUnconf { + if eAll, ok := entities[dxccNum]; ok { + _, bAll := eAll.Bands[out[i].Band] + _, mAll := eAll.Modes[checkMode] + _, sAll := eAll.Slots[out[i].Band][checkMode] + // "worked", not "": that is what the verdict function says + // when every grain is in the log — the first version + // compared against empty and no band/mode/slot need ever + // dimmed, however many unconfirmed QSOs stood behind it. + if spotEntityStatus(true, bAll, mAll, sAll, out[i].Mode) == "worked" { + out[i].UnconfStatus = true + } } } }