Skip to content

fix: 修复下载器可靠性并简化标题与状态样式 - #950

Merged
MCDFsteve merged 3 commits into
mainfrom
codex/downloader-reliability
Sep 26, 2026
Merged

MCDFsteve merged 3 commits into
mainfrom
codex/downloader-reliability

Conversation

@MCDFsteve

@MCDFsteve MCDFsteve commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

修复点击添加后需要等待下一次轮询才显示任务、磁力预览后再次联网解析,以及暂停、恢复、保存任务和完成后入库不可靠的问题。添加时立即显示处理状态,操作结束立即读取最新任务状态,其他任务可以继续操作。下载状态改为纯文本;同类弹窗和设置面板移除标题前的装饰图标及底板。

Related Issue

  • 用户反馈:下载器点击下载后反馈迟缓,以及任务管理存在多处异常。

What Changed

  • 合并并发刷新,按任务锁定操作;处理初始化暂停、错误重试、未完成视频播放和完成后的做种暂停,并修正活跃下载计数。

  • Rust 保留磁力预览元数据供添加直接复用;增加请求取消、60 秒超时和过期结果保护,关闭弹窗或修改链接时释放预览。

  • Dart 与 Rust 分别合并、串行化会话初始化;重复添加明确返回已存在任务及其原保存位置,保留原任务状态。

  • Android / 鸿蒙任务数据库改用固定应用支持目录,从当前、最近及默认下载目录合并旧记录,保留下载位置、暂停状态、恢复数据和旧记录备份,避免删除后重新导入。

  • 自动入库仅扫描当前任务已完成且大小正确的视频文件;成功后才保存完成标记,失败允许重试,旧扫描标记重新验证。

  • 同步桌面、手机和电视操作入口、生成的 Rust 桥接代码及文档。更新禁用回调测试,并补齐电视媒体库测试缺少的外观设置依赖。

  • UI 简化:桌面与电视的下载状态只保留文本和状态颜色;移除画面截取、弹幕匹配、媒体信息编辑、Bangumi 评分、服务器设置和远程访问等 17 处装饰图标及间距,标题直接左对齐。

  • 保留原有窗口红点和关闭入口;仅移除标题前的装饰图标及其底板。

Validation

  • 全量 flutter test --no-pub --reporter expanded:827 项通过,9 项按平台 / 环境条件跳过。

  • 下载器定向 Flutter 测试:28 项通过,覆盖刷新竞争、初始化重试、状态、任务迁移、扫描失败重试及多端明暗主题操作。

  • Rust 下载器测试:4 项通过,覆盖预先取消、执行中取消、超时释放及离线重复添加。

  • 修改涉及的代码定向静态检查通过;仓库的全量 flutter analyze --no-pub --no-fatal-infos --no-fatal-warnings lib 检查通过,仍有仓库现存 warning / info。

  • UI 调整后重新运行全量测试及仓库静态检查,结果通过。已检查下载器桌面 / 电视明暗主题、列表 / 卡片以及画面截取 / 文本编辑弹窗截图。

  • 保留原有红点后,17 项窗口、截图和下载器相关回归测试及 4 项明暗界面预览通过。

  • 尚未进行 Android / 鸿蒙真机迁移或真实公网种子下载验证;数据库保护测试按仓库限制交由 GitHub 隔离 Linux runner 执行。

@MCDFsteve
MCDFsteve requested a review from a team as a code owner September 26, 2026 17:58
@MCDFsteve MCDFsteve changed the title fix(downloader): 修复下载响应、预览取消和任务恢复 fix: 修复下载器可靠性并简化标题与状态样式 Sep 26, 2026
@MCDFsteve
MCDFsteve merged commit ed7bebe into main Sep 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant