feat(chase): the global hunt — new, or new plus unconfirmed, every category
The gap between worked and confirmed becomes visible everywhere. A Chase setting on the DX Cluster page picks the mode; in new-plus-unconfirmed the verdicts for DXCC/band/mode/slot, prefix, county and state are judged against CONFIRMED-only ledgers built from the operator's chosen sources (LoTW, card, eQSL, QRZ.com — HRDLog has no confirmation field in ADIF to offer), and a need that exists only because a QSL never arrived is flagged Unconf: the cluster and decode badges render it dimmed, the convention the grid hunt introduced. The grid's own Chase selector folds into the global one; its square-matching scope stays where it was, being grid-specific. One snapshot key change rebuilds the cache when any of it flips.
This commit is contained in:
Vendored
+4
@@ -452,6 +452,8 @@ export function GetChaseNewGrids():Promise<boolean>;
|
||||
|
||||
export function GetChaseNewSpots():Promise<Array<main.ChaseNewSpot>>;
|
||||
|
||||
export function GetChaseSettings():Promise<main.ChaseSettings>;
|
||||
|
||||
export function GetChatHistory(arg1:number):Promise<Array<main.ChatMessage>>;
|
||||
|
||||
export function GetClublogCtyInfo():Promise<main.ClublogCtyInfo>;
|
||||
@@ -1028,6 +1030,8 @@ export function SaveCATSettings(arg1:main.CATSettings):Promise<void>;
|
||||
|
||||
export function SaveCabrilloFile():Promise<string>;
|
||||
|
||||
export function SaveChaseSettings(arg1:main.ChaseSettings):Promise<void>;
|
||||
|
||||
export function SaveClusterServer(arg1:cluster.ServerConfig):Promise<cluster.ServerConfig>;
|
||||
|
||||
export function SaveEmailSettings(arg1:main.EmailSettings):Promise<void>;
|
||||
|
||||
@@ -842,6 +842,10 @@ export function GetChaseNewSpots() {
|
||||
return window['go']['main']['App']['GetChaseNewSpots']();
|
||||
}
|
||||
|
||||
export function GetChaseSettings() {
|
||||
return window['go']['main']['App']['GetChaseSettings']();
|
||||
}
|
||||
|
||||
export function GetChatHistory(arg1) {
|
||||
return window['go']['main']['App']['GetChatHistory'](arg1);
|
||||
}
|
||||
@@ -1994,6 +1998,10 @@ export function SaveCabrilloFile() {
|
||||
return window['go']['main']['App']['SaveCabrilloFile']();
|
||||
}
|
||||
|
||||
export function SaveChaseSettings(arg1) {
|
||||
return window['go']['main']['App']['SaveChaseSettings'](arg1);
|
||||
}
|
||||
|
||||
export function SaveClusterServer(arg1) {
|
||||
return window['go']['main']['App']['SaveClusterServer'](arg1);
|
||||
}
|
||||
|
||||
@@ -2430,6 +2430,20 @@ export namespace main {
|
||||
this.at = source["at"];
|
||||
}
|
||||
}
|
||||
export class ChaseSettings {
|
||||
mode: string;
|
||||
sources: string[];
|
||||
|
||||
static createFrom(source: any = {}) {
|
||||
return new ChaseSettings(source);
|
||||
}
|
||||
|
||||
constructor(source: any = {}) {
|
||||
if ('string' === typeof source) source = JSON.parse(source);
|
||||
this.mode = source["mode"];
|
||||
this.sources = source["sources"];
|
||||
}
|
||||
}
|
||||
export class ChatMessage {
|
||||
id: number;
|
||||
operator: string;
|
||||
@@ -3958,6 +3972,10 @@ export namespace main {
|
||||
county?: string;
|
||||
state?: string;
|
||||
new_state: boolean;
|
||||
unconf_status?: boolean;
|
||||
unconf_pfx?: boolean;
|
||||
unconf_cty?: boolean;
|
||||
unconf_state?: boolean;
|
||||
new_pota: boolean;
|
||||
grid?: string;
|
||||
new_grid: boolean;
|
||||
@@ -3985,6 +4003,10 @@ export namespace main {
|
||||
this.county = source["county"];
|
||||
this.state = source["state"];
|
||||
this.new_state = source["new_state"];
|
||||
this.unconf_status = source["unconf_status"];
|
||||
this.unconf_pfx = source["unconf_pfx"];
|
||||
this.unconf_cty = source["unconf_cty"];
|
||||
this.unconf_state = source["unconf_state"];
|
||||
this.new_pota = source["new_pota"];
|
||||
this.grid = source["grid"];
|
||||
this.new_grid = source["new_grid"];
|
||||
|
||||
Reference in New Issue
Block a user