@pierre-gilles ,
I have an issue with the Force update of external integrations button.
When I do a manual build and push the dev image to Github, if I force the update, it works fine.
But on a non-dev release from Github, the Force update button does not work. You have to wait for the update to be detected to install the new image. Is this intended behavior?
For example, I made a release for the Freebox integration and 1 hour later, nothing. The update is not detected and the Force button does nothing.
Hi @Will_71 ,
Thanks for the feedback, itâs fixed here:
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.
The fix is live in 4.84.4:
Hi everyone!
A small evening release, following directly from yesterdayâs feedback: the real Spotify OAuth fix (via HTTPS), the alarm bug during arming, and some very concrete UX improvements
External Integrations: OAuth2 via my.gladysassistant.com
Spotify (and modern OAuth providers in general) no longer accept a redirect_uri in HTTP on a local IP (http://192.168.x.x). Result: most self-hosted installs were getting a redirect_uri: Not matching configuration.
This is fixed: Gladys nâŠ