Upgrades of add-ons and backends started at once: a backend Upgrade
button and Update all fired immediately, and an add-on could only be
upgraded from the Details panel.
Add a shared "Review updates" sheet. It lists each pending item as
installed version to candidate version, with checkboxes, Upgrade
selected and Upgrade all. Nothing runs until the administrator
confirms in it. An add-on whose candidate the host cannot run is
listed with the reasons and cannot be selected. One failure does not
stop the other items; the sheet and a toast report each result.
Entry points: an "Updates (N)" button on the add-ons grid and on the
Backends header, an Upgrade action on each add-on card, and a
"Check for updates" action that checks every installed add-on. Row
Upgrade buttons on the Backends page open the sheet with that backend
checked.
Add-on upgrades are now followed by a small store outside the page,
so they continue across routes. They show in the Activity page under
a new Add-ons filter with progress, Cancel and Retry. Cancel aborts the
request and the page reads the operation to report the owner's answer.
The confirmation header and the one-identity-per-action rules are
unchanged, and no tool is added. No server change.
Assisted-by: Claude:claude-sonnet-5-5 [Claude Code]
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>