mirror of
https://github.com/Silent1566/webhtv.git
synced 2026-10-13 18:27:10 +00:00
merge: 合并 origin/beta 最新代码(PR#439 dev4 对话框取色修复)并复评 dev2 已提交的季集交接改动
合并:git merge --no-commit --no-ff origin/beta(b0b7f1d78b5e394c0c9635a8b9c71b4417b06e25, Merge pull request #439 from Silent1566/dev4),0 冲突;MERGE_HEAD 即 beta tip。 纳入 beta 侧 4 个提交(含 dev4 的 fix(theme): TV 对话框面板与前景取自同一张色表 及两份文档)。 零复活 / 零丢失(三层证据): 1. 合并树 ≡ beta tip + dev2 自身 4 路径:git diff --name-only origin/beta 仅 4 个 dev2 文件。 2. 零丢失(blob 级):beta tip 5047 个文件逐个比对合并结果树,缺失 0、逐字节一致 5043, 差异仅 dev2 自己的 4 个路径;且 beta 相对 merge-base 从未改过这 4 个路径。 3. 零复活(严格判据,按「文件+行」):beta 历史上 27 个单亲回退提交共删除 4472 条 (文件,行) 记录,与 dev2 自身新增的 282 条记录求交集 = 0。 复评(2 轮)发现并修复 3 项真实问题,全部落在 dev2 已提交的季集交接改动上: 1. F1(阻塞)单季兜底会覆盖用户显式「保持原始剧集列表」(MANUAL_FLAT):解析器只在 MANUAL_FLAT 时返回 Status.FLAT,旧实现对非 RESOLVED 一律不绑定;兜底只要 TMDB 恰有一个 正片季就绑定,播放页会挂 TMDB 集标题并经 TmdbEpisodeSorter.sort 原地重排选集, 还与详情页(该模式 availableSeasonNumbers 返回空、不画卡片)表现相反。 2. F2(重要)单季兜底会覆盖解析器「已看到相反证据」的 AMBIGUOUS:TMDB 只有第 1 季而源站剧名/ 集名明确指向第 2 季时,解析器故意返回 title_season_missing_from_tmdb / explicit_season_missing_from_tmdb / title_and_source_season_conflict 拒绝绑定, 兜底会无视证据把第 1 季标题静默挂到第二季源列表。 F1+F2 同一处修复:兜底前加来源白名单,只对 Source.REQUEST(请求季不在 TMDB)与 Source.NONE(源站路径显式关闭启发式)生效,其余来源一律不兜底。 3. F3(重要)单季兜底会把 MULTI_SLICE 的分段结论降级成单季路径:切片路径以 null 作为季号 一致性校验的期望值,兜底返回非 null 会让调度侧改走单季绑定、执行侧的切片校验又必然否决, 整个分段(含特别篇)一集都绑不上。修复:兜底前先判 MULTI_SLICE。 并同步修复 seedSeasonEpisodes 的注释与实现不符(「不会发起网络请求」在内存未命中时不成立)。 复评第 2 轮(修复后复审):MULTI_SLICE 守卫与来源白名单按 TmdbSeasonResolver.resolve 的 全部 source/reason 逐条推演,确认既不过宽(不再覆盖 FLAT 与带相反证据的 AMBIGUOUS)也不过窄 (REQUEST + requested_season_missing_from_tmdb 与 NONE + heuristic_guessing_disabled 两条 本次要救的路径仍能兜底);代次校验自洽(MULTI_SLICE 两侧都期望 null,RESOLVED 两侧都取 selectedSeason);无新增阻塞问题。 验证:双 flavor 编译 + 双 flavor AndroidTest 编译 + 全量 JVM 套件。 Verification: 双 flavor Java 编译 + 双 flavor AndroidTest 编译 BUILD SUCCESSFUL;双 flavor 全量 JVM 套件:leanback 4214 tests / 8 failures / 3 skipped、mobile 5026 / 7 / 3;相对合并前(leanback 4211/8/3、mobile 5026/7/3)增量仅 leanback +3 例 = beta 带入的 TvDialogPaletteModeTest 3 例且全绿,失败集合与既有环境基线(docs/C58-beta-merge-review-dev2-20261011.md:leanback 7 类 8 例、mobile 6 类 7 例;根因 core.autocrlf=true 的 CRLF 检出使含裸 \n 的守卫断言失配,以及 Windows renameTo 语义)同类同数、零新增;TmdbDetailCacheTest 14 例在两 flavor 全绿;合并零复活严格判据(文件+行)交集 0、零丢失 blob 级比对缺失 0 且逐字节一致 5043/5047 Task-Guard: C64-beta-merge-review-dev2-20261012
This commit is contained in:
commit
8b5f8e9026
7 changed files with 590 additions and 29 deletions
Loading…
Add table
Add a link
Reference in a new issue