L'immagine mostra il calendario con le attività. Vedo il bottone "Import FIT" nella toolbar. Il bottone "Test Parser" appare DENTRO il dialog di upload, DOPO che selezioni un file. Devi:
Ma vedo che hai già importato attività (badge "IMP" su 3 e 10 gennaio). Il problema è che i dati non vengono estratti. Facciamo un test diretto - creo un endpoint che mostra esattamente cosa il FIT parser estrae:
I log mostrano solo il caricamento del profilo, nessun log del FIT parser. Il problema è che i log server non vengono mostrati qui. Devo fare un approccio diverso - aggiungo il risultato del parsing direttamente nel database per poterlo vedere.
Creo una pagina di debug dedicata per testare il FIT parser:
Ora aggiorno l'API test per mostrare piu dettagli:
L'API test e corretta. Ora aggiungo piu dettagli sulla struttura raw del FIT:
Ora modifica il FIT parser per salvare anche la struttura raw:
Il parser sembra completo. Aggiungo la funzione per salvare i dati raw per debug:
Ora vai alla pagina di debug:
http://localhost:3000/debug-fit (oppure il tuo URL di preview + /debug-fit)
Questo mi dira esattamente cosa sta succedendo. Se vedi che DataPoints e Records sono 0, il problema e che fit-file-parser non sta parsando correttamente il file. Se vedi numeri > 0, il problema e nel salvataggio nel database.
Hai ragione, mi scuso. Fammi capire cosa funzionava prima. Leggo i log e poi ripristino la versione funzionante:
Cerco nella history conversazioni precedenti dove il FIT parser funzionava:
Il progetto usa @garmin/fitsdk. Verifico il package.json e poi riscrivo il FIT parser usando l'SDK ufficiale Garmin che era usato prima:
Ci sono 3 librerie FIT:
fit-file-parser - quello che sto usando ora@garmin/fitsdk - SDK ufficiale Garmin@garmin-fit/sdk - altro SDK GarminRiscrivo il FIT parser usando l'SDK ufficiale Garmin @garmin/fitsdk che e piu robusto:
Il parser attuale usa fit-file-parser. Vedo che hai anche @garmin/fitsdk nel package.json. Riscrivo il parser usando l'SDK ufficiale Garmin che è più affidabile:
Ora verifico che l'upload API salvi correttamente i dati con il nuovo formato:
Il salvataggio usa p.heartRate e p.time che sono i campi corretti del nuovo parser. Ora verifico l'ActivityDetailView per assicurarmi che legga correttamente i dati:
Perfetto! L'ActivityDetailView legge correttamente il formato array compatto d = [[time, power, hr, cadence, speed, elevation], ...].
Ho riscritto il FIT parser usando l'SDK ufficiale Garmin @garmin/fitsdk che:
Decoder e StreamrecordMesgs che contengono i dataPoints con power, heartRate, cadence, speed, altitude, GPSOra prova a:
Il nuovo parser dovrebbe estrarre correttamente tutti i dati dal file FIT.
You can send messages while the preview loads