feat(hamlog): show what the confirmation import did, and export what it could not place

The import printed four numbers and left nothing behind. 1106 matched
and 395 unmatched out of 1501 is not a report: the operator cannot see
which contacts were confirmed, nor work through the discrepancies.

Two additions. The Results view is now filled with the confirmed
contacts, flagged new entity/band/mode/slot against what LoTW and paper
QSL already confirm -- the only sense in which a HAMLOG confirmation
changes anything. And the unmatched ones can be written out as ADIF,
because a few hundred of them are a list to open and compare, not
something to read in a log window.
This commit is contained in:
2026-08-23 15:43:57 +02:00
parent b952e074f4
commit ab89611eca
7 changed files with 128 additions and 6 deletions
+7
View File
@@ -782,6 +782,13 @@ type App struct {
// a still-running QRZ sync bleed its log into a freshly started LoTW download).
confDLMu sync.Mutex
confDLCancel context.CancelFunc
// hamlogUnmatched holds the confirmations the last HAMLOG.online import
// could not place onto a QSO, kept so they can be exported and worked
// through — see ExportHamlogUnmatched. Replaced by each import, never
// accumulated: it describes one run, not a history.
hamlogUnmatchedMu sync.Mutex
hamlogUnmatched []qso.QSO
udpLogMu sync.Mutex // serialises UDP auto-log so concurrent packets can't both pass the dedup check
adifMonMu sync.Mutex // guards the ADIF-monitor config (file list + per-file read offsets)
syncMu sync.Mutex // serialises folder synchronisation: config, the seq counter, and the append to our own file