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 + } } } }