fix: a hand-assigned award reference no longer loses to the matcher
Reported on the DARC DOK award, with DL2FDM: a German address matches two or three DOKs, the operator deletes the wrong ones and assigns the right one, and the next recompute puts the wrong ones straight back. The manual reference was APPENDED to what the matcher found. Storage already kept exactly one manual entry per award — setOverrideRef drops the previous one — so it was an override everywhere except at the one place it mattered. The operator was arguing with the matcher and could not win. It now replaces. The trace records what was superseded, so a corrected QSO can still be explained rather than being merely different. A QSO with no correction keeps every automatic reference, which the test also pins: an override must not quietly disable matching for everyone else. This does not address the over-matching itself — an address containing "Berlin Mitte, 10115 Berlin" genuinely matches two DOK descriptions. That is the next question, and a separate one.
This commit is contained in:
@@ -461,6 +461,7 @@ export namespace award {
|
||||
ref_count: number;
|
||||
steps: Step[];
|
||||
manual?: string[];
|
||||
superseded?: string[];
|
||||
result: string[];
|
||||
|
||||
static createFrom(source: any = {}) {
|
||||
@@ -476,6 +477,7 @@ export namespace award {
|
||||
this.ref_count = source["ref_count"];
|
||||
this.steps = this.convertValues(source["steps"], Step);
|
||||
this.manual = source["manual"];
|
||||
this.superseded = source["superseded"];
|
||||
this.result = source["result"];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user