背景
这是已合入的任务重连与退出恢复工作的 follow-up。当前暂停/取消请求失败时,错误被写入 Home 的 actionError,但进行中/暂停态会整页返回 ProgressScreen,该组件没有错误入口,因此用户看不到失败,可能误以为任务已经暂停或取消。
暂停态点击取消时还会先清空 paused,再删除 partial cache;如果删除失败,页面已经离开暂停态,继续下载或重试取消的恢复入口同时丢失。
当前证据
src/app/views/useDownloadProgress.ts:115-134:pause/cancel 返回 false 或 reject 时只调用 onError(...)。
src/app/views/Home.tsx:543-564 与 src/app/views/WinHome.tsx:602-622:进行中与暂停态直接返回 ProgressScreen。
src/app/views/ProgressScreen.tsx:21-51,80-149:组件没有 failure 参数、错误区域或恢复动作。
src/app/views/Home.tsx:352-366 与 src/app/views/WinHome.tsx:344-357:setPaused(null) 早于 discardDownload() 成功。
验收标准
占位说明
对应 Draft PR 只保留实施入口,不包含正式修改,不应合并。
背景
这是已合入的任务重连与退出恢复工作的 follow-up。当前暂停/取消请求失败时,错误被写入 Home 的
actionError,但进行中/暂停态会整页返回ProgressScreen,该组件没有错误入口,因此用户看不到失败,可能误以为任务已经暂停或取消。暂停态点击取消时还会先清空
paused,再删除 partial cache;如果删除失败,页面已经离开暂停态,继续下载或重试取消的恢复入口同时丢失。当前证据
src/app/views/useDownloadProgress.ts:115-134:pause/cancel 返回 false 或 reject 时只调用onError(...)。src/app/views/Home.tsx:543-564与src/app/views/WinHome.tsx:602-622:进行中与暂停态直接返回ProgressScreen。src/app/views/ProgressScreen.tsx:21-51,80-149:组件没有 failure 参数、错误区域或恢复动作。src/app/views/Home.tsx:352-366与src/app/views/WinHome.tsx:344-357:setPaused(null)早于discardDownload()成功。验收标准
role="alert"正确播报。占位说明
对应 Draft PR 只保留实施入口,不包含正式修改,不应合并。