fix: make ADIF parser case-insensitive for EOR delimiter

Critical bug fix: ADIF parser was using case-sensitive split on '<EOR>',
but LoTW returns lowercase '<eor>' tags. This caused all 242,239 QSOs
to be parsed as a single giant record with fields overwriting each other,
resulting in only 1 QSO being imported.

Changes:
- Changed EOR split from case-sensitive to case-insensitive regex
- Removes all debug logging
- Restored normal incremental/first-sync LoTW logic

Before: 6.8MB LoTW report → 1 QSO (bug)
After: 6.8MB LoTW report → All 242K+ QSOs (fixed)

Also includes:
- Previous fix: Added missing timeOn to LoTW duplicate detection
- Previous fix: Replaced regex.exec() while loop with matchAll() for-of

Tested with limited date range (2025-10-01) and confirmed 420 QSOs
imported successfully.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-18 08:25:25 +01:00
parent 0161ad47a8
commit 233888c44f
2 changed files with 6 additions and 5 deletions

2
sample Normal file
View File

@@ -0,0 +1,2 @@
{
"adif": "<ADIF_VER:5>3.1.3\n<CREATED_TIMESTAMP:15>20260117 095453\n<EOH>\n<BAND:3>80m<CALL:5>DK0MU<MODE:3>FT8<PROP_MODE:0><QSO_DATE:8>20250621<TIME_ON:6>212645<SAT_MODE:0><SAT_NAME:0><STATION_CALLSIGN:5>DG0TM<DCL_QSL_RCVD:1>Y<DCL_QSLRDATE:8>20251003<EOR>\n<BAND:3>80m<CALL:5>DL0YY<MODE:3>FT8<PROP_MODE:0><QSO_DATE:8>20250204<TIME_ON:6>215500<SAT_MODE:0><SAT_NAME:0><STATION_CALLSIGN:5>DG0TM<DCL_QSL_RCVD:1>Y<DCL_QSLRDATE:8>20250914<EOR>\n<BAND:3>80m<CALL:6>DO1LFJ<MODE:3>FT8<PROP_MODE:0><QSO_DATE:8>20250802<TIME_ON:6>192900<SAT_MODE:0><SAT_NAME:0><STATION_CALLSIGN:5>DG0TM<DCL_QSL_RCVD:1>Y<DCL_QSLRDATE:8>20250910<EOR>\n<BAND:3>80m<CALL:5>DJ9BX<MODE:3>FT8<PROP_MODE:0><QSO_DATE:8>20250506<TIME_ON:6>205815<SAT_MODE:0><SAT_NAME:0><STATION_CALLSIGN:5>DG0TM<DCL_QSL_RCVD:1>Y<DCL_QSLRDATE:8>20250907<EOR>\n<BAND:3>40m<CALL:5>DM5XT<MODE:3>SSB<PROP_MODE:0><QSO_DATE:8>20250506<TIME_ON:6>160956<SAT_MODE:0><SAT_NAME:0><STATION_CALLSIGN:5>DG0TM<DCL_QSL_RCVD:1>Y<DCL_QSLRDATE:8>20250919<EOR>\n<BAND:3>40m<CALL:5>DF0BG<MODE:3>FT8<PROP_MODE:0><QSO_DATE:8>20250712<TIME_ON:6>082200<SAT_MODE:0><SAT_NAME:0><STATION_CALLSIGN:5>DG0TM<DCL_QSL_RCVD:1>Y<DCL_QSLRDATE:8>20250911<EOR>"}