github urbanescavenger/BiliMT v3.1.1-alpha.12

pre-release3 hours ago

移动端「下载更新」失败不再崩溃(P11-265)。用户在移动端设置页下载更新时,如果网络
中途断开,应用会直接崩溃并重启(表现为「重载」)。

变更

  • 崩溃修复:下载重试耗尽后 UpdateManager.download() 会把异常重新抛出。TV 端一直有
    try/catch,移动端 MobileSettingsScreen 没有,异常从 rememberCoroutineScope().launch
    逃逸成 FATAL EXCEPTION: main。现补上与 TV 一致的处理:失败只弹 toast,不再杀进程。
  • 下载日志:新增 BiliMT:Update 日志 —— 开始(包名 / 大小 / URL)、每次尝试失败
    (异常类型 + 已下字节)、成功(耗时 + 平均 KB/s)、最终放弃。此前下载路径零日志,
    失败和慢速都无法取证。
  • callTimeout 单位修正:原代码把毫秒值按 TimeUnit.SECONDS 传入,整调用上限实际
    是 600000 秒(约 7 天),兜底形同虚设;改为毫秒,保持 10~30 分钟。
  • 下载效率:读缓冲 8KB → 64KB;进度回调从「每 8KB 一次」改为 200ms 时间节流,
    减少读循环与设置页高频重组的互相拖累。
  • 判读文档:docs/update-download-notes.md 记录本次崩溃链、慢速归因(设备所有出站
    请求走本地代理 127.0.0.1:10808)与日志判读方法。

真机判据

  • 断网或代理异常时点击「下载更新」:只出现下载失败 toast,应用不崩溃、不重启;
  • 正常网络下载一次成功,实时日志出现 download complete ... avg=...KB/s;
  • 断流场景日志出现 attempt=n/5 failed ... partial=x/y,续传后字节数继续增长。

Don't miss a new BiliMT release

NewReleases is sending notifications on new releases.