Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b66030c89 | ||
|
|
d4f23a52af | ||
|
|
b4b9674d8c |
@@ -2721,6 +2721,15 @@ func (a *App) applySolar(q *qso.QSO) {
|
||||
if a.solar == nil {
|
||||
return
|
||||
}
|
||||
// Today's space weather belongs on today's QSO. The ADIF monitor and the UDP
|
||||
// path both feed contacts that are normally seconds old, but neither promises
|
||||
// it: a logger re-broadcasting its backlog, or an operator typing in last
|
||||
// month's contact by hand, would otherwise be given this morning's SFI as if
|
||||
// it had been measured at the time. A wrong number is worse than none — it
|
||||
// cannot be told from a real reading afterwards.
|
||||
if !q.QSODate.IsZero() && time.Since(q.QSODate) > 24*time.Hour {
|
||||
return
|
||||
}
|
||||
d := a.solar.Get()
|
||||
if !d.OK {
|
||||
return
|
||||
@@ -11823,6 +11832,16 @@ func (a *App) LogUDPLoggedADIF(adifText string) (int64, error) {
|
||||
a.refineDistrictZones(&q) // W6 → CQ3/ITU6 for zone-split countries
|
||||
a.applyQSLDefaults(&q)
|
||||
|
||||
// ── Space weather and path length ──
|
||||
// Also "same as the manual path", and they were missed when that comment was
|
||||
// written. A QSO auto-logged from WSJT-X went in with no SFI, no A, no K and
|
||||
// no distance, so an operator running digital — which is most of the traffic
|
||||
// on most stations — had those fields empty across the whole log while a
|
||||
// hand-logged contact carried them. Both are stamped only where the record
|
||||
// left them empty, so an ADIF that supplied its own still wins.
|
||||
a.applySolar(&q)
|
||||
fillDistance(&q)
|
||||
|
||||
// ── Dedup (serialised) ──
|
||||
// Match by call + band + mode within a ±2-minute window: a QSO logged
|
||||
// manually in OpsLog and re-broadcast by Log4OM over UDP often differs by
|
||||
|
||||
@@ -1,4 +1,14 @@
|
||||
[
|
||||
{
|
||||
"version": "0.24.7",
|
||||
"date": "",
|
||||
"en": [
|
||||
"QSOs logged from WSJT-X now carry the space weather and the distance, like hand-logged ones. The UDP path stamped the station profile, the DXCC and the QSL defaults but not SFI, A, K or distance — so an operator running digital had those fields empty across the whole log. Space weather is only stamped on a contact less than a day old: a logger re-broadcasting its backlog would otherwise be handed this morning readings for last month contacts."
|
||||
],
|
||||
"fr": [
|
||||
"Les QSO enregistrés depuis WSJT-X portent désormais la météo spatiale et la distance, comme ceux saisis à la main. Le chemin UDP posait le profil station, le DXCC et les défauts QSL mais ni SFI, ni A, ni K, ni distance — un opérateur en numérique avait donc ces champs vides sur tout son log. La météo spatiale n est posée que sur un contact de moins d un jour : sinon un logiciel qui rediffuse son historique se verrait attribuer les relevés de ce matin sur des contacts du mois dernier."
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "0.24.6",
|
||||
"date": "",
|
||||
|
||||
@@ -373,12 +373,16 @@ export function DetailsPanel({ callsign, prefix, operatorGrid, remoteGrid, qth,
|
||||
<Input value={details.address} onChange={(e) => onChange({ address: e.target.value })} />
|
||||
</Field>
|
||||
</div>
|
||||
<Field label={t('detp.qslMessage')} span={7}>
|
||||
<Input value={details.qsl_msg} onChange={(e) => onChange({ qsl_msg: e.target.value })} />
|
||||
</Field>
|
||||
<Field label={t('detp.qslVia')} span={5}>
|
||||
{/* QSL via gets the room, not the message. Width should follow use, and
|
||||
these two are nowhere near equal: a manager's callsign is filled in
|
||||
constantly and a QSL message almost never. The message had 7 columns
|
||||
of 12 for text most operators never type. */}
|
||||
<Field label={t('detp.qslVia')} span={7}>
|
||||
<Input value={details.qsl_via} onChange={(e) => onChange({ qsl_via: e.target.value })} />
|
||||
</Field>
|
||||
<Field label={t('detp.qslMessage')} span={5}>
|
||||
<Input value={details.qsl_msg} onChange={(e) => onChange({ qsl_msg: e.target.value })} />
|
||||
</Field>
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user