发布打包 reject 时收尾进度,避免面板卡死

- packageAll 在宿主不可用/读失败时会直接抛,await 包一层 try/catch
- 失败时把进度置为 failed 并带上原因,不再停在 running(运行中对话框没有关闭入口)
This commit is contained in:
2026-10-07 10:59:50 +08:00
parent 7b521f6f29
commit 8d74fa9aba
@@ -191,7 +191,19 @@ export function useTaonierTab({
step: 'build',
percent: null,
});
const built = await taonier.packageAll();
let built: boolean;
try {
built = await taonier.packageAll();
} catch (error) {
// `packageAll` 在宿主不可用/读失败时会直接抛(含 exportUnavailable)。不接住的话进度
// 会停在 `running`,而正在跑的对话框没有关闭入口,面板会一直卡在「正在打包发行包…」。
setProgress({
phase: 'failed',
message: '发布失败',
detail: error instanceof Error ? error.message : String(error),
});
return;
}
if (!built) {
// 打包自己会把校验红字 / 适配弹窗 / 失败现场交给用户,这里只收起进度。
setProgress(null);