github urbanescavenger/BiliMT v3.1.0-alpha.1

pre-release2 hours ago

焦点、重载、备份三件事一起收口 —— 这一版的主线是你连报的三个体验问题:从播放列表起播后返回焦点会丢、YouTube 高画质播放中途反复重载、WebDAV 备份要连试很多次才成功。三个问题都拿到了真机日志、定位到具体机制并做了修复;其中焦点那条改到了根上(数据结构层面),不再只是补丁。

变更

  • 从播放列表起播、返回后不再丢焦点,也不再重新加载列表(P11-171 / P11-172 / P11-175)。真机日志显示完整链条:起播瞬间详情页整页被卸载 → 返回时列表是空的、必须重新拉取 → 那段时间里既没有可聚焦的行,焦点还会落到左侧头像并直接把用户送进「我的」页。本版三层修:①返回时先把焦点落在「返回」按钮上,不再出现整页无焦点;②恢复期间不再让头像抢走焦点(此前只有部分返回路径做了这层保护);③把列表数据提到播放器之上存活 —— 返回时列表与翻页进度原样还原,不再重新加载,焦点直接回到你起播的那一行。
  • YouTube 播放中途反复重载(P11-173)。真机日志里两场同签名:播放器在突发测速的鼓励下从 720p 一路爬到 1440p,而链路实际撑不住(单笔请求要 20 秒以上),缓冲耗尽 → 看门狗把整场重来 → 重来后又爬回同一档。本版按三个方向修:①重载后给「刚上过的那一档」加 90 秒冷却(此前只有最高档有此保护),不再重载后 40~90 秒内又爬回同一堵墙;②缓冲见底时把请求上限收紧到 8 秒(而非 18 秒),让播放器在缓冲耗尽之前先降档自救,而不是等看门狗把整场重载;③起播档与显示对齐设置里的「起播画质」(此前网页取流路用「默认画质上限」,默认不限时会把会话绑到 2160p,屏幕显示 2160p 而实际在放 720p)。
  • WebDAV 备份「连不上服务器,连试很多次才成功」(P11-174 / P11-176)。日志一上线就给出答案:那台服务器空闲后第一笔请求要 15 秒以上才回(边缘/源站冷启),而探测只有 8 秒一档 —— 冷启时必败,手动重试撞上「已经热了」的一次才成。本版:①探测改三档 8s → 15s → 25s,一次操作内足以熬过冷启;②App 启动时后台先替你把连接热好(仅已配置时),把冷启挪出你按键那一刻 —— 真机实测第一档 3.6 秒即通;③探测层补上逐次日志(此前这一层完全没有日志,失败无迹可查),并把「405 也算可达」纳入判定(部分 WebDAV 服务器拒绝对目录发起 GET)。

进展与已知问题

  • 待你验证:播放列表起播 → 返回那条路径,改动后我这边还没有拿到真机日志,请复测确认(期望:不再出现重新加载、焦点回到起播那一行;日志应出现 playlist-detail restore … confirmed=true rows=[N])。
  • 未修:焦点落到左侧头像后 autoConfirm 直接打开「我的」页 —— 本版只在「有恢复在身」时抑制(已覆盖所有返回路径);你主动用方向键把焦点移到头像上时,仍会按你的设置自动打开「我的」页。
  • 未解:重载循环里「ABR 被突发测速拉高」这一环仍在(缓冲健康闸按你的决定本轮未做);另外「单笔响应 10~30MB 且客户端整包读取」这条(疑似重载的更深层原因)只完成了取证方案,未实施。
  • 未证实:是否存在「一次返回被处理成两级」的迟到返回事件 —— 本轮新增的日志尚未在真机上取到对应样本。

Don't miss a new BiliMT release

NewReleases is sending notifications on new releases.