@pierre-gilles ,
Ich habe ein Problem mit dem Button „Externe Integrationen erzwingen“.
Wenn ich ein manuelles Build durchführe und das Dev-Image auf Github pushe, funktioniert das erzwungene Update einwandfrei.
Aber bei einer nicht-Dev-Release von Github funktioniert der Button „Externe Integrationen erzwingen“ nicht. Man muss warten, bis das Update erkannt wird, um das neue Image zu installieren. Ist das gewolltes Verhalten?
Zum Beispiel habe ich eine Release für die Freebox-Integration durchgeführt und eine Stunde später ist immer noch nichts passiert. Das Update wird nicht erkannt und der „Erzwingen“-Button funktioniert nicht.
Hallo @Will_71 ,
Danke für das Feedback, das ist hier behoben:
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.
Das Update ist in der Version 4.84.4 live:
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…