fix: improve cw decoding with qrm
This commit is contained in:
@@ -6096,37 +6096,31 @@ func (a *App) extShouldUpload(svc extsvc.Service, id int64) bool {
|
||||
// tells the frontend to refresh that row's confirmation columns.
|
||||
func (a *App) markExtUploaded(svc extsvc.Service, id int64, logID string) {
|
||||
date := time.Now().UTC().Format("20060102")
|
||||
// Use a fresh background context, NOT a.ctx: this stamp often runs during
|
||||
// the on-close upload, and a.ctx is cancelled as the app shuts down — which
|
||||
// would silently abort the UPDATE and leave the QSO at "R" forever despite a
|
||||
// successful upload.
|
||||
ctx := context.Background()
|
||||
if a.qso == nil {
|
||||
return
|
||||
}
|
||||
var err error
|
||||
switch svc {
|
||||
case extsvc.ServiceQRZ:
|
||||
if a.qso != nil {
|
||||
if err := a.qso.MarkQRZUploaded(a.ctx, id, date); err != nil {
|
||||
applog.Printf("extsvc: mark qrz uploaded %d: %v", id, err)
|
||||
}
|
||||
}
|
||||
err = a.qso.MarkQRZUploaded(ctx, id, date)
|
||||
case extsvc.ServiceClublog:
|
||||
if a.qso != nil {
|
||||
if err := a.qso.MarkClublogUploaded(a.ctx, id, date); err != nil {
|
||||
applog.Printf("extsvc: mark clublog uploaded %d: %v", id, err)
|
||||
}
|
||||
}
|
||||
err = a.qso.MarkClublogUploaded(ctx, id, date)
|
||||
case extsvc.ServiceLoTW:
|
||||
if a.qso != nil {
|
||||
if err := a.qso.MarkLoTWUploaded(a.ctx, id, date); err != nil {
|
||||
applog.Printf("extsvc: mark lotw uploaded %d: %v", id, err)
|
||||
}
|
||||
}
|
||||
err = a.qso.MarkLoTWUploaded(ctx, id, date)
|
||||
case extsvc.ServiceHRDLog:
|
||||
if a.qso != nil {
|
||||
if err := a.qso.MarkHRDLogUploaded(a.ctx, id, date); err != nil {
|
||||
applog.Printf("extsvc: mark hrdlog uploaded %d: %v", id, err)
|
||||
}
|
||||
}
|
||||
err = a.qso.MarkHRDLogUploaded(ctx, id, date)
|
||||
case extsvc.ServiceEQSL:
|
||||
if a.qso != nil {
|
||||
if err := a.qso.MarkEQSLSent(a.ctx, id, date); err != nil {
|
||||
applog.Printf("extsvc: mark eqsl sent %d: %v", id, err)
|
||||
}
|
||||
}
|
||||
err = a.qso.MarkEQSLSent(ctx, id, date)
|
||||
}
|
||||
if err != nil {
|
||||
applog.Printf("extsvc: mark %s uploaded %d failed: %v", svc, id, err)
|
||||
} else {
|
||||
applog.Printf("extsvc: marked %s QSO %d as sent", svc, id)
|
||||
}
|
||||
if a.ctx != nil {
|
||||
wruntime.EventsEmit(a.ctx, "extsvc:uploaded", map[string]any{
|
||||
|
||||
Reference in New Issue
Block a user