Skip to content

feat: 整合 Windows 桌面功能并保留邮箱助手 - #36

Merged
XiaoZheBrother merged 109 commits into
masterfrom
feat/20261016-desktop-master-integration
Oct 18, 2026
Merged

XiaoZheBrother merged 109 commits into
masterfrom
feat/20261016-desktop-master-integration

Conversation

@XiaoZheBrother

@XiaoZheBrother XiaoZheBrother commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

第七候选已提交:心跳测试改为等待两次真实续租成功,并验证线程退出及数据库租约状态;后端改为 20 个分片,并发仍为 2、每片仍限时 120 分钟,保留全部测试和严格汇总。局部回归已通过,新一轮 Windows 和邮件完整检查运行中,尚未达到合并条件。

第六候选:消息清理按资源归属验证(2026-10-17)

当前 head de1c8825621ad199fc4462039fefd2f84af7d74f,实际 PR merge 85da743003eaf5e0d0a9e5dc08b147fadecf26fa,与本地已测 tree ddfc7497808c9184c39841aadb79601b7f005a17 完全一致。仅四文件测试/CI/复盘更新,产品代码与后端节点集合不变。

本地 Node 22.23.3 完整前端 276 文件、2793/2793 通过;完整 AddApplicationForm 16/16、tsc/build、CI 配置契约 13/13、ruff、冷 clone PIN 8/8 通过。保留两项故意阻止 owned expiry 实际 clear 的失败证据:portal 与 spy 检查仍通过,专属 onClose 真实触发使新断言失败。原 14 业务场景与时限未改。一次本地全套因执行环境中断无终态,随后从头完整独立执行成功,未拼接结果。

第五候选的全局 timer 数量断言改为本次消息精确句柄及到期行为断言,新增真实 ResizeObserver 尾回调交错;完整文件同时加入 Windows installer 早期聚焦,最终全量仍完整执行。受控复现能产生相同症状,但未捕获旧 Windows 现场 timer stack,不能唯一归因。

本候选尚未完成 Windows 验收,必须以此次实际 merge SHA 的两项完整 CI 终态为准,以下旧候选通过结果均仅历史证据:


当前验收结果(2026-10-17,待修复)

实际 merge ed19d9c311f1e224afdec1c2a905ce5428a120bf 的 Windows 全量 run 38937939551 最终失败,PR 仍为 draft。

  • 12/12 后端分片成功,严格聚合 7127 唯一节点=7113 passed+14 预期平台 skips,0 collection skips;最长分片98分04秒。
  • 邮件完整CI及 Windows installer/NSIS安装、后端smoke、卸载成功。
  • 完整前端 2791 passed / 1 failed(275/276 files)。唯一失败为本PR新增 AddApplicationForm cleanup 回归:portal已消失,但全局 fake timer count 为1而预期0。原14业务场景通过,正在定位剩余timer归属;未削断言/重试掩盖。
  • Full release gate 在前端测试失败处停止,后续阶段未完成,不能宣称整体通过。

当前候选:固定分片权重刷新(2026-10-16)

Head 61ba405204532a5ee039a277742d34ba82f59fe6;已测及远端 tree 900a0fc7f7432863273805568f75d45a9b833251;实际 merge ed19d9c311f1e224afdec1c2a905ce5428a120bf。

前两轮旧 shard9 在120分钟平台限时被结束。新文件每node使用历史最慢257.834秒造成前几片虚高、尾片集中真实负载。本提交只刷新固定duration数据、SHA pin及原provenance契约:仅采第四候选同一源码/依赖/Windows Python的完整成功片0–4,共954个完整setup+call+teardown PASS观测;新增241权重,上调145,旧权重不下降,失败/超时/未完成数据不采。所有来源artifact/digest/逐node变更与官方7127集合可重建记录随固定数据保存。

调度算法、整文件/原chat例外、12片、120分钟、并发2和完整覆盖不变。7127唯一节点新预测每片最大88.616分钟、极差0.258秒,仅为调度估计,不是执行通过。本地67契约、ruff、最终PIN冷clone8项通过;真实collect7127,唯一Linux/Windows AF_INET6参数ID差异显式映射后与官方集合及预测完全一致。当前实际merge仍需完整CI终态。

前一候选:Windows 离线升级 guard 修复(2026-10-16)

Head 96bc1a11130fe255c8c7fcda240b278973991349;已测及远端 tree bd1c54e887c4dcc6fe1f7ccc2eb4005032b6153b;实际 merge 9c1a5909f3a1cc3790a85bf02dde7072f9cccd3a。

旧 Windows 分片暴露本PR桌面邮件组合 guard 误拦 Proactor 的标准库 socketpair;集中扫描同步修复 master 既有邮件升级测试同类问题。测试 helper 仅接受真实 stdlib 实现、其自有 socket/listener 与精确临时目的地,再调用已有 connect guard;任意 localhost、外网、凭据和模型调用继续拒绝。两个升级文件与39项边界回归已加入既有 installer 早期聚焦门禁,完整分片覆盖不减少。

本地首次组合组在外层240秒截止,未宣称通过;冻结后独立冷clone完整57/57通过(231.76秒),含真实archive导入及原120秒seed边界。最终PIN冷clone8/8、全ruff通过。当前候选需要新的实际merge完整CI,旧结果仅作历史证据。

2026-10-16 邮件状态快照修复(前一候选记录)

此前 head c269ad6686371ea18b413d2cfc8c0a97e29b7be1,已测 tree 7c300a8bc94c7f92e3b0302b2fce4ad3e543b4c3,实际 PR merge d83d0fe711fde7d76949250cfcda85d4e6fba90f。

旧 Windows 分片出现预算 99/100 失败,日志不足以唯一还原当时原因。事件屏障确定性复现 master 既有 status 混合快照:响应 completed+99,但持久 DB 已100。预算写事务没有发现丢更新证据。本修复采用短 deferred BEGIN/finally rollback,物化状态后退出事务再执行 folders/catalog;不修改全局 journal、锁、timeout 或原预算断言。默认 DELETE journal 短读锁可能短暂延迟 writer commit。

新增回归旧码1失败/3通过,修复后邮件及desktop交叉116通过;全ruff、mypy217文件、最终HEAD冷clone8项通过。当前候选需要新的 Windows 完整验收;此前候选成功结果不能代替本次 merge SHA。

前一候选记录(2026-10-16,已被后续修复替代)

候选更新为 2703b959(tree 9241809f)。首轮真实 PR merge CI 暴露两项集成测试设施问题,已在本提交修复:邮件 Windows 锁 job 缺少离线启动插件依赖;cleanup 测试未记录 Windows venv 的受控 launcher PID。保留安全 guard、原测试与时限,新增锁定依赖合同和进程链/清理失败回归。本地对应 16 项、cleanup 62 项、HEAD 冷 clone 8 项及 ruff 通过;新 Windows CI 尚待终态。

首轮 Windows 已通过 desktop/auth/static 60 项、Electron 81 项、离线 helper 873 项、React helper 31 项;installed-ui 670 pass/2 平台 skip。Ubuntu 邮件合成验收通过 311 Python、226 前端及浏览器场景。首轮安装 job 仍判失败、未产出安装通过结论;旧完整分片继续运行,未取消,也不作为新候选验收替代。

变更

  • 从 master 54d7f26 整合桌面分支 df7a4b0,保留已合入的邮件助手,不引入独立英文分支。
  • 保留独立 Live2D Haru/静态对话窗、主窗 Pilot、共享会话状态、无 Key 草稿与配置提示、第三版图标、Electron 能力及更新设置。
  • API/设置/主窗合并保留邮件确认与 Origin fence;桌面 transport 认证不绕过邮件边界。覆盖真实 master 邮件数据库重复升级、桌面重复启动及邮件记录/幂等回执保持。
  • 五个一次性验证 workflow 归档为不执行的历史文件,helper、安全及路由测试保留。
  • PR 完整门禁绑定实际 merge SHA:12 片 duration-lpt 全覆盖、整文件隔离/原 chat 例外、120 分钟/并发 2、严格聚合。无 secrets、只读权限、无 pull_request_target。候选 push 不重复触发完整门禁。
  • 新增本次包的 NSIS 安装/后端/卸载 smoke,仅 GitHub-hosted Windows,拒绝已有产品注册/配置/快捷方式,随机自有目录、进程有界清理、不覆盖 runner 既有安装。

本地验证

  • 邮件/桌面组合 3 项、实际 master 数据库升级与桌面生命周期 2 项通过;原桌面进程鉴权/持久化/重启/parent EOF 节点复验通过,40 秒 ready 阈值不变。
  • 设置/邮件/更新聚焦前端 169 项、Electron 生命周期/隔离 79 项通过;完整 mypy 217 源文件通过。
  • 离线真实 AI helper 的 873 fake tests 通过,无真实请求、无 skip/retry;显式限制 Node 文件并发 2,原 180ms 边界不变。
  • 完整前端单 worker 执行了 276 files / 2,791 tests:2,790 pass、1 fail。唯一失败为 AddApplicationForm 静态消息 portal 清理的 NotFoundError;修复测试 owner teardown 后,该文件原 14 项及新增真实消息/timer 清理回归共 15/15 通过。未将此前失败整套改记为通过。
  • 授权审计优化后 mechanical 45/45、negative fixtures 136/136 通过;原 30 秒门槛保留,最紧一次通过余量约 607ms。旧新算法图与循环/别名/namespace/路径/失效探针逐项一致。
  • 最终 tsc/Vite 生产构建与全量 ruff 通过。React helper 最后一次原样全 31 项为 28 pass/3 fail:一项 5 秒超时、随后两项状态连锁失败;未重试/放宽,不拼接此前结果宣称通过。Windows 完整 backend/安装及 PR 实际 merge 候选结果待 CI,旧分支记录不代表本候选通过。

本地首次并行验证曾出现源审计、桌面 ready 及 React 冷挂载超时,记录保留为失败/未完成。云执行环境恢复导致早期临时日志丢失,已返回的终态仍可追溯,恢复后新日志保存在持久工作区;最终以本 PR 官方 CI 证据为准。

有界修复

  • Linux mypy 的 Windows ctypes 类型错误在 pristine master 同命令复现。非 Windows 存活探测显式返回 unknown,未知不夺 stale lock;Windows 路径不变,13 keyring tests 及双平台局部类型检查通过。
  • 源审计仅缓存单次同步审计 AST/导出结果。嵌套缓存保留静态可达 active 上下文,复用原模块解析/遍历,分析不确定时保留完整 active;修复同 Map 跨审计修改导出导致的旧缓存漏检。
  • AddApplicationForm 测试使用官方 message.destroy、await act 和自有 host teardown,不再清空全 body。真实消息、原业务断言及 5 秒时限不变。master 一次仪器运行未抛错,但确认清 body 时仍有活跃静态消息;不宣称 baseline 已复现红灯。

验收边界

  • 邮件手动粘贴、待审建议与显式确认保留。EXE 尚无真实 QQ 安全配置的显式开启入口,真实连接/凭据操作默认关闭,不宣称覆盖网页版全部邮箱能力。
  • 未调用真实 AI/真实邮箱、未发布 Release、未购买或配置签名、未合并 master。
  • 静默安装 smoke 不替代普通用户 UAC/SmartScreen、无 debug 启动、签名更新双版本及 Whisper 发布验收。
  • 草稿 PR 在实际合并候选门禁完成前保持未验收,最终合并另行确认。

OfferPilot-AI-Request: 93b62af
OfferPilot-AI-Budget-CNY: 10
OfferPilot-AI-Request: 858c685
OfferPilot-AI-Budget-CNY: 10
OfferPilot-AI-Scope: pilot-haru-carry-forward-only
OfferPilot-AI-Carry-Run: 38694575612
OfferPilot-AI-Carry-Artifact: 11953258616
OfferPilot-AI-Carry-SHA256: 8a31c0a40981a543b85103217b7d3c2a5cd9ebeb080b43664a4c81bd9ad3e917
OfferPilot-AI-Additional-Requests: 1
OfferPilot-AI-Execution-Seconds: 120
基于最新 master 与桌面验证分支,保留邮件边界,隔离历史验证入口,并为实际 PR 合并候选配置完整无秘密 Windows 门禁。

本地验证范围及未通过项见草稿 PR;该提交不代表发布验收完成。
邮件原生锁测试安装完整 frozen 依赖并保留离线防护;cleanup 回归严格验证本次 Windows venv launcher 链与原超时失败。
@XiaoZheBrother
XiaoZheBrother marked this pull request as ready for review October 18, 2026 05:42
@XiaoZheBrother
XiaoZheBrother merged commit 53cc817 into master Oct 18, 2026
68 of 74 checks passed
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