Sync automatique en arrière-plan

Resolved 💬 2 comments Opened Nov 27, 2025 by Ziltosh Closed Nov 29, 2025

Contexte

La synchronisation entre appareils fonctionne mais nécessite d'aller dans les préférences et de cliquer sur "Synchroniser" manuellement. C'est trop contraignant pour une utilisation quotidienne.

Objectif

Implémenter une synchronisation automatique transparente pour l'utilisateur.

Spécifications

Sync automatique

  • Intervalle minimum : toutes les 1 minute
  • Déclencheurs additionnels :
  • Au démarrage de l'app (si passphrase stockée)
  • Après création/modification/suppression d'une tâche
  • Quand l'app revient au premier plan (focus)

Stockage de la passphrase

  • Stocker la passphrase en mémoire après la première saisie réussie
  • Option pour "Se souvenir de la passphrase" (stockage sécurisé via Keychain/Keystore)
  • La passphrase reste en mémoire pendant la session

UI/UX

  • Indicateur de sync discret dans le header ou la barre de navigation
  • Icône qui s'anime pendant la sync
  • Point de notification si changements en attente
  • Tap pour forcer une sync immédiate
  • Pas de popup pour demander la passphrase à chaque sync
  • Notification silencieuse en cas d'erreur de sync (pas de blocage)

Gestion d'erreurs

  • Retry automatique avec backoff exponentiel en cas d'échec
  • Après 3 échecs consécutifs, passer en mode "pending" et attendre la prochaine sync manuelle
  • Logger les erreurs sans perturber l'utilisateur

Tâches techniques

  • [ ] Modifier useSyncManager.ts pour démarrer l'auto-sync dès que la passphrase est disponible
  • [ ] Réduire l'intervalle de 5 minutes à 1 minute
  • [ ] Ajouter un listener sur les événements de modification de tâches
  • [ ] Ajouter un listener sur le focus de l'app
  • [ ] Créer un composant SyncIndicator.vue pour le header
  • [ ] Implémenter le stockage sécurisé de la passphrase (optionnel)
  • [ ] Ajouter gestion d'erreurs silencieuse avec retry

Critères d'acceptation

  • [ ] La sync se fait automatiquement sans intervention utilisateur
  • [ ] L'utilisateur ne voit pas de popup après la configuration initiale
  • [ ] Un indicateur visuel montre l'état de la sync
  • [ ] Les erreurs ne bloquent pas l'utilisation de l'app

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗