Skip to content

feat: 接入桌面端灰度更新与异常日志上报 - #395

Merged
yaojin3616 merged 4 commits into
mainfrom
codex/desktop-rollout-diagnostics
Sep 11, 2026
Merged

feat: 接入桌面端灰度更新与异常日志上报#395
yaojin3616 merged 4 commits into
mainfrom
codex/desktop-rollout-diagnostics

Conversation

@yaojin3616

@yaojin3616 yaojin3616 commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

桌面端此前直接查询公共 latest 更新源,后台灰度规则不会生效,也没有自动上传 Harness 故障日志。此改动将已打包客户端接入 https://dshdesktop.com/crash

  • 自动及普通手动检查先携带持久安装 ID、当前版本、合并平台请求灰度决策。未命中规则返回无更新;请求失败不回退 latest。命中后固定版本归档,并在显示下载入口前校验元数据版本。用户主动选择历史版本仍保留原有安装/降级行为。
  • 接入 Harness 启动失败/异常退出、渲染器/GPU 丢失及主进程致命异常。截取 harness.log 末尾最多 100 行,常见敏感字段在落盘前脱敏,每份报告上传前弹出原生确认框,说明接收地址、数据字段和单次发送选择;默认不发送,取消或关闭时丢弃。仅明确同意后尝试上传一次,发送前移出本地队列;网络失败、超时及 HTTP 错误均直接丢弃,不定时重试。尚未尝试发送的崩溃报告在下次启动尝试一次。Harness 上报等待真实日志流写入回调;原生崩溃通过下次启动的非正常退出标记补报。
  • 使用 Electron net.fetch 继承应用网络配置,仅打包应用启用。正常退出与主动 GPU 重启清理会话标记,诊断失败不阻断应用启动。

验证:逐次上传确认补充后,相关 23 项测试、类型检查和生产构建通过。此前全量 100 个测试文件 / 866 项测试通过;最终 SemVer 识别补充后重跑相关 15 项通过;类型检查、生产构建、diff 检查通过。补充既有品牌测试的空数组检查以通过严格类型检查。

本 PR 不包含后台项目,不部署或发布客户端;真实 macOS/Windows 安装包的升级和原生崩溃验收尚未执行。安装器/下载错误和升级成功关联追踪不在本次范围内。当前后端约定仍是“没有命中规则则无更新”,不是默认全量。

@yaojin3616
yaojin3616 merged commit af628f6 into main Sep 11, 2026
3 checks passed
@yaojin3616
yaojin3616 deleted the codex/desktop-rollout-diagnostics branch September 11, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant