- Profils stockés dans profiles.json (userData), profil "Défaut" rétro-compatible
- Chaque profil a son propre historique de sessions et app state (fichiers suffixés par id)
- Drop stats : mode Privé (fichier propre) ou Partagé (pool dropstats-shared.json commun)
- Bouton 👤 dans la topbar ouvre une modal de gestion des profils
- Créer, renommer (double-clic), supprimer, activer un profil
- Basculer le mode de drop stats (Privé ↔ Partagé) par profil
- timers et alertes isolés par profil via clés localStorage préfixées par profil id
- Switch de profil = rechargement de page (données propres sans état résiduel)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
app.relaunch() ne fonctionne pas avec les AppImages — il tente de relancer
le binaire Electron interne au lieu du fichier .AppImage. On utilise maintenant
spawn + detach + app.quit() comme sur Windows. selfInstallLinux() gère la copie
vers ~/.local/bin/ au premier démarrage du nouvel AppImage.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Au démarrage, si l'AppImage ne tourne pas depuis ~/.local/bin/farm-tracker.AppImage,
elle s'y copie automatiquement — plus besoin d'installation manuelle.
Les mises à jour suivantes y atterrissent toujours (fix update Linux).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Vérification auto au démarrage (après 5s) via API /releases/latest
- Dialog optionnel avec snooze : 1j / 2j / 5j / 1sem / 2sem / indéfiniment
- Bouton "Mises à jour" dans la topbar (ignore le snooze)
- tools/release.js : script pour publier une release et uploader les binaires
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>