fix(update-center): cascade local and remote icon fallbacks

Keep update list icons from dropping straight to placeholders by retrying the remote store icon after local load failures. Align the update-center IPC and renderer types with the split local/remote icon contract.
This commit is contained in:
2026-04-11 11:41:01 +08:00
parent c16ba5536f
commit 180b88b5c0
11 changed files with 245 additions and 79 deletions

View File

@@ -9,7 +9,7 @@ import {
parseAptssUpgradableOutput,
parsePrintUrisOutput,
} from "./query";
import { resolveUpdateItemIcon } from "./icons";
import { resolveUpdateItemIcons } from "./icons";
import {
createUpdateCenterService,
type UpdateCenterIgnorePayload,
@@ -249,9 +249,9 @@ const enrichItemCategories = async (
const enrichItemIcons = (items: UpdateCenterItem[]): UpdateCenterItem[] => {
return items.map((item) => {
const icon = resolveUpdateItemIcon(item);
const icons = resolveUpdateItemIcons(item);
return icon ? { ...item, icon } : item;
return Object.keys(icons).length > 0 ? { ...item, ...icons } : item;
});
};