Zephyr v2.4.4 — 网络切换协调器、Prism 沙盒边界验证、内联粘贴按钮、瞬态锁持久化 bug 修复
新增 NetworkChangeCoordinator 自动检测 Wi-Fi/网络切换并应用正确 Prism 配置;Prism 沙盒资源边界校验与权限提升审计(
PRISM_SANDBOX_CHANGED事件码 3007);输入框内联粘贴按钮与控制台窗口宽度提示;i18n 检查工具重写为静态解析器 + CLDR 复数规则验证;Linux AppImage WebKitGTK 二进制补丁修复跨发行版崩溃;瞬态锁持久化 bug 修复;安全策略重构。
新功能 — 网络切换协调器(#1364)
NetworkChangeCoordinator
新增网络切换协调器,自动检测 Wi-Fi/网络切换并应用正确的 Prism 配置,全程无需用户干预。
WiFi SSID 检测从 prism/host.rs 迁移到 network_coordinator/detector.rs,网络切换时自动失效缓存并重新编译 Prism 配置。
新功能 — UI(#1311)
内联粘贴按钮
输入框和文本域旁新增内联粘贴按钮,一键将剪贴板内容粘贴到目标输入框。
控制台窗口宽度提示
切换到 Console 控制台首页时,若窗口宽度低于 1080px 断点,自动显示信息通知,提示用户窗口过窄可能导致仪表盘布局折叠。
安全加固 — Prism 沙盒(#1250)
沙盒边界验证
script_set_limits 命令新增严格边界校验,防止资源耗尽攻击和配置错误:
超出范围的值被拒绝并返回包含实际值与合法范围的错误信息。
沙盒权限提升审计
沙盒配置变更通过新事件码 PRISM_SANDBOX_CHANGED(3007)进行结构化审计日志:
- 权限提升(新授予
allow_filesystem或allow_child_process)→ emitWARN - 权限收回 → emit
INFO
前端沙盒保存处理新增三重防护:fresh-state 确认对话框、in-flight 守卫、取消回滚。
其他安全加固
- UI 日志设置数值输入安全规范化(
Number.isInteger)+ 动态插值escapeHtml - 插件
item.id和summary通过escapeAttr/escapeHtml转义 - CI
GITHUB_TOKEN通过临时配置文件传递(chmod 600+EXITtrap 即时清理)
Bug 修复
瞬态锁持久化(#1292)
isNetworkUpdating 和 isTestingLatency 标志未加入 transientKeys 数组,导致 WebView 刷新时这些标志被持久化到 localStorage。如果刷新时某个标志为 true,下次 initApp 恢复后永久锁定所有检查该标志的操作(订阅切换、TUN 切换、模式选择器、Geo 数据更新等),导致以上操作全部异常。现已修复。
Linux 跨发行版 AppImage 崩溃(#1387)
WebKitGTK 将 PKGLIBEXECDIR 作为绝对路径嵌入 libwebkit2gtk-4.1.so 的 .rodata 段。在 AppImage 中(无 chroot),该路径解析到宿主文件系统 — 在 Ubuntu(构建主机)上偶然工作,但在 Fedora/Arch 等路径不存在的发行版上崩溃(g_error → SIGTRAP)。
AppImage 权限(#1369)
CI 构建强制 umask 0022,确保 Tauri 构建产出的 AppImage 文件权限为标准 755(此前受 Docker 容器 umask 影响,可能为 700 导致非 root 用户无法执行)。
CI / 供应链
安全策略重构
- 新增
.github/security.txt安全联系信息 SECURITY.md重写:CVE 工作流、PVR(漏洞验证与响应)指南、Hall of Fame、安全披露流程
i18n 检查工具重写(#1230, [#1235])
packages/scripts/check-i18n.js 从 regex + new Function 重写为静态递归下降解析器:
- 动态 locale 发现(移除硬编码列表)
- CLDR-aware 复数规则验证(
Intl.PluralRules.resolvedOptions().pluralCategories) - 原型污染防护(
Object.hasOwn+Object.create(null)) --strictflag 用于 CI 强制执行
文档同步
README 和 FEATURES.md 与实际代码库同步:macOS 最低版本修正为 10.13 (High Sierra);i18n 从 4 种语言更新为 14 种含 RTL;新增 Override 系统描述;IPC 命令数(166)和错误码数(85)校准。