mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-09-21 06:00:11 +08:00
feat(update-center): 支持被系统锁定(hold)包的强制安装与更新中心体验优化
- 标记 apt-mark hold 的 spark(aptss) 源包,默认禁用勾选并提示开启强制安装 - 更新中心发起更新时透传 forceHeld,后端 Spark 本地 deb 走 shell-caller force-ssinstall 分支(单次免密 pkexec:unhold→ssinstall→hold),避免二次提权 - 无可选项时禁用全选并提示"无可更新项";更新选中后从列表中移除已启动项 - DownloadDetail 紧凑布局避免整页滚动;Toolbar 全选与更新选中按钮同行 - 继承 PKGNAME_PATTERN 与 metalinkUrl 白名单(https+*.spark-app.store+拒..)纵深防御 - apm 源无 hold 概念,forceHeld 在 apm 分支忽略(正确行为)
This commit is contained in:
@@ -15,7 +15,9 @@
|
||||
:item="item"
|
||||
:task="taskMap.get(item.taskKey)"
|
||||
:selected="selectedTaskKeys.has(item.taskKey)"
|
||||
:forced="forcedTaskKeys.has(item.taskKey)"
|
||||
@toggle-selection="$emit('toggle-selection', item.taskKey)"
|
||||
@toggle-force="$emit('toggle-force', item.taskKey)"
|
||||
@ignore-item="$emit('ignore-item', item.packageName, item.newVersion)"
|
||||
@unignore-item="
|
||||
$emit('unignore-item', item.packageName, item.newVersion)
|
||||
@@ -40,11 +42,13 @@ const props = defineProps<{
|
||||
items: UpdateCenterItemModel[];
|
||||
tasks: UpdateCenterTaskState[];
|
||||
selectedTaskKeys: Set<string>;
|
||||
forcedTaskKeys: Set<string>;
|
||||
apps: App[];
|
||||
}>();
|
||||
|
||||
defineEmits<{
|
||||
(e: "toggle-selection", taskKey: string): void;
|
||||
(e: "toggle-force", taskKey: string): void;
|
||||
(e: "ignore-item", packageName: string, newVersion: string): void;
|
||||
(e: "unignore-item", packageName: string, newVersion: string): void;
|
||||
}>();
|
||||
|
||||
Reference in New Issue
Block a user