Pure Live v3.1.2
Pure Live v3.1.2
v3.1.2 build 4115 是 Android / Windows 全屏一致性与平台接口韧性补丁。本轮没有同步上游代码;Windows 根因来自隐藏标题栏初始化与 window_manager 0.5.2 原生 frameless 状态的交互,不是 v3.1.1 多画面业务代码。旧版会把 Dart 侧标记为全屏,但原生窗口没有改变样式或边界,因此仍保留标题栏、任务栏和普通页面布局。
Windows 真全屏
- Windows 进入全屏前重新应用同一隐藏标题栏样式,清除插件原生层遗留的
frameless阻断状态,再执行系统全屏边界切换。 - 全屏窗口现在覆盖当前显示器完整区域;标题栏、任务栏和普通直播间侧栏不会继续占位。
Escape退出后,普通窗口精确恢复进入前的位置和尺寸;从最大化进入时恢复原最大化状态。- macOS、Linux 继续直接调用既有全屏路径,不执行 Windows 专用准备步骤。
网易 CC 分类接口迁移兼容
- 完整回归发现 CC 旧分类 JSON 地址已在部分网络直接跳转到网易官方
ds.163.com/gliveHTML 页面;旧实现会在jsonDecode处终止分类页加载。 - 分类解析改为防御式合同:旧 JSON 仍可解析全部游戏子分类;遇到官方迁移跳转、HTML、空响应或部分 schema 时保留“全部 / 端游 / 手游 / 其他”稳定入口,推荐直播、搜索、房间和播放链路互不连带失败。
- 公开接口探针同时识别旧 JSON 合同与官方 Glive 迁移目标,仍会拒绝第三方重定向和未知 HTML;新增解析回归覆盖 HTML 回退与旧 JSON 分组。
回归与运行验证
- 新增
test/windows_fullscreen_transition_test.dart,锁定 Windows 的“标题栏准备 → 原生全屏”调用顺序,并验证其他桌面平台不执行 Windows 专用步骤。 - 聚焦 Analyze 为 0 issue;Windows 全屏与 PiP 呈现测试 4/4 通过,记录为
20260831T091722185Z-quality-focused.json。 - Windows Debug 在 3840×2400、250% 缩放、200 Hz 显示器完成真实直播复验:全屏截图从普通窗口
1155×703或最大化1536×912变为完整显示器1536×960;原生窗口边界为(0,0)-(1536,960)。 - 普通窗口全屏往返后边界精确恢复为
(188,104)-(1347,809);最大化往返后IsZoomed=true,进程全程响应。 - Android arm64-v8a、Windows x64 安装程序和便携 ZIP 从同一冻结提交串行构建,并附构建元数据与 SHA-256。
证据与边界
- 完整根因、旧/新行为、验证矩阵和回滚点见
docs/STAGE_UPDATE_3_1_2.md。 - 本修复解决 Windows 原生窗口进入全屏失败;平台直播接口、主播下播、CDN 波动和账号风控仍按各平台运行时诊断处理。
发布后正式包复验(2026-08-31)
- Android:PJZ110 / Android 16 覆盖升级保留关注数据;10 次冷启动全部成功,293~332 ms、平均 306.2 ms,0 FATAL/ANR。分类/搜索标签硬边界、网易 CC 官方 HTML 迁移回退、120 Hz 三档即时切换与冷启动持久化均通过。
- Twitch:直连搜索明确显示局部失败;临时启用手机可达的本机 Clash 应用代理后,Twitch 原生搜索和在线人数正常。测试结束已恢复原代理地址及关闭状态。
- Windows:3840×2400、200 Hz 环境确认三档刷新率即时生效和持久化;普通窗口、最大化两条真全屏往返均覆盖完整显示器并精确恢复,播放和弹幕持续。
- 详细证据已更新到 master:ANDROID_RUNTIME_AUDIT_3_1_2.md、WINDOWS_RUNTIME_AUDIT_3_1_2.md、ACCEPTANCE_MATRIX_3_1_0.md。
- Release 二进制和源码标签仍对应冻结提交 4d79e5f;发布后运行审计文档提交为 �4e40124,没有替换安装包内容。