Skip to content

Écarter la même séance relayée par une autre application - #25

Merged
Kaz229 merged 1 commit into
mainfrom
doublons-health-connect
Nov 2, 2026
Merged

Kaz229 merged 1 commit into
mainfrom
doublons-health-connect

Conversation

@Kaz229

@Kaz229 Kaz229 commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Le cas

Une séance faite dans Lyfta part sur Strava, qui l'écrit à son tour dans Health Connect. L'historique la montrait deux fois.

La règle

Deux enregistrements qui se chevauchent dans le temps décrivent le même entraînement. On ne garde que celui de l'application la mieux placée — Lyfta avant Strava, l'application où la séance a été saisie étant la plus fidèle — et à défaut le plus long, qui porte en général le plus de détail.

  • Un léger décalage de créneau, fréquent après un relais, ne trompe pas la détection
  • Deux séances distinctes restent : une course Strava sans équivalent Lyfta n'est pas écartée
  • Entre deux applications inconnues, la plus longue gagne ; une application connue passe devant une inconnue même plus longue

Les doublons déjà dans ta base

Sans cela, la correction n'aurait rien changé à ce qui est déjà importé. Une séance importée qui n'est plus dans la liste est maintenant retirée, qu'elle ait été supprimée à la source ou qu'elle fût le doublon.

Les séances saisies dans FitTrack n'ont pas d'identifiant externe et ne sont jamais touchées.

Une nuance par rapport à ta demande

Tu parlais du cas de la musculation. La règle s'applique à tous les types : deux enregistrements d'une même course compteraient aussi en double. Si tu veux garder les doublons en cardio, dis-le-moi.

Tests

8 tests unitaires : relais Strava, décalage de créneau, séances distinctes, applications inconnues, ordre d'arrivée.

🤖 Generated with Claude Code

Une séance faite dans Lyfta part sur Strava, qui l'écrit à son tour dans
Health Connect : l'historique la montrait deux fois.

Deux enregistrements qui se chevauchent dans le temps décrivent le même
entraînement. Seul celui de l'application la mieux placée est gardé —
Lyfta avant Strava, l'application où la séance a été saisie étant la plus
fidèle — et à défaut le plus long, qui porte en général le plus de détail.
Un léger décalage de créneau, fréquent après un relais, ne trompe pas la
détection.

Deux séances distinctes restent toutes les deux : une course Strava sans
équivalent Lyfta n'est pas écartée.

Les doublons déjà importés sont retirés au passage : une séance importée
qui n'est plus dans la liste n'a plus lieu d'être, qu'elle ait été
supprimée à la source ou qu'elle fût le doublon. Les séances saisies dans
FitTrack n'ont pas d'identifiant externe et ne sont jamais touchées.
@Kaz229
Kaz229 merged commit 1f182f1 into main Nov 2, 2026
1 check passed
@Kaz229
Kaz229 deleted the doublons-health-connect branch November 2, 2026 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant