@pierre-gilles ,
J’ai un souci avec le bouton Forcer la mise à jour des intégrations externes.
Quand je fais un build manuel et que je pousse l’image de dev sur Github, si je force la mise à jour, cela fonctionne bien.
Mais sur une release non dev depuis Github, le bouton Forcer la mise à jour ne fonctionne pas. Il faut attendre que la mise à jour soit détectée pour installer la nouvelle image. Est-ce un comportement voulu?
Par exemple, j’ai réalisé une release pour l’intégration Freebox et 1 heure après, toujours rien. La mise à jour n’est pas détectée et le bouton Forcer ne fait rien.
Salut @Will_71 ,
Merci pour le retour, c’est corrigé ici :
master ← claude/integration-externe-bouton-maj-z6w5gi
ouvert 06:19PM - 04 Aug 26 UTC
### Description
This PR fixes a critical issue where external integration updat… es could fail to detect newly published versions due to relying on stale in-memory cache. The store index is rebuilt hourly and cached client-side for 30 minutes, so an update triggered minutes after a release would resolve to the previous manifest and re-pull the same image tag, making the "Force update" button appear broken.
**Key changes:**
1. **Always refresh the store index on update** — Instead of trusting the in-memory `storeIndex`, the update flow now calls `getIndex({ refresh: true })` to fetch the latest index from the source.
2. **Compare both sources and pick the most recent** — A new `getMostRecentManifest()` function compares the index entry with the repo manifest (the source the indexer mirrors) and returns whichever has the higher semver version. This handles the case where the repo has a newer release not yet reflected in the index.
3. **Validate semver versions** — Non-semver versions from either source are ignored, preventing malformed data from winning over valid releases.
4. **Update `isUpdateAvailable()` logic** — Now prefers the repo manifest when it's ahead of the index, since once the repo manifest has been read (e.g., during an update), its version is the authoritative one to compare against.
5. **Improve user feedback** — The UI now displays whether an update succeeded with a version change or if the integration was already up-to-date (with the image re-pulled and container recreated). Added localized messages in English, French, and German.
### Checklist
- [x] Tests pass: Added 6 comprehensive test cases covering all update scenarios (index refresh, repo fallback, semver validation, version comparison)
- [x] Linter and prettier pass
- [x] No breaking changes
https://claude.ai/code/session_01HdhbQ14TDfWhrwsiwrEKji
## Summary by CodeRabbit
* **New Features**
* Integration updates now compare versions from multiple sources to detect newer releases despite stale indexes.
* Force updates refresh release information before rebuilding containers and can fall back when a source is unavailable.
* Update results indicate whether an integration was updated or already current, including the resulting version.
* Installed integrations can refresh their repository information directly.
* **Localization**
* Added and updated English, French, and German messages for integration update outcomes.
Le correctif est live dans la 4.84.4 :
Salut à tous !
Petite release du soir, suite directe aux retours d’hier : le vrai fix OAuth Spotify (via HTTPS), le bug d’alarme pendant l’armement, et quelques améliorations UX bien concrètes
Intégrations externes : OAuth2 via my.gladysassistant.com
Spotify (et les providers OAuth modernes en général) n’acceptent plus une redirect_uri en HTTP sur une IP locale (http://192.168.x.x). Résultat : la plupart des installs auto-hébergées se prenaient un redirect_uri: Not matching configura…