Repository navigation
fix(provider-group): 修复组内电脑剩余额度刷新不及时 - #6752
guyong-zapo wants to merge 23 commits into
Conversation
Signed-off-by: guyong <guyong@xd.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
[Medium impact] 本次修改看起来可以合并,未发现需要阻止合并的问题。
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 306ff9a5fb
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
|
@codex review 已在 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 50c6e053d0
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
本 PR 需要维护者确认:改动涉及产品 UI 额度卡的用户可见行为(展开时主动查询目标电脑原生额度、页面前台约每 15 秒刷新、回前台/重连补读、离线恢复读取),并修改了产品规则文档 请维护者直接在本 PR 上 Approve 确认;如需作者修改,请在本 PR 上 Request Changes 并写明要求,作者修改后由维护者再 Approve。维护者确认前,自动流程不会审查或合并本 PR。 |
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5ba7d49a42
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
|
@makecindy/maintainers 已将自动审阅的 4 条意见全部修复、回复并 Resolve,当前 head 为 当前可审阅结果:展开主动读取目标电脑 OpenAI 原生额度;前台约 15 秒刷新,后台暂停;重连、回前台、成员恢复在线及重新展开时,对跨观察间隔留下的在途查询补读一次;旧端镜像兜底;原生补读失败时丢弃旧账号快照。供应商组路由和发送前核验保持原行为。 本地 8 个测试文件共 113 项、Desktop 类型检查、ESLint、test-hygiene、DCO 和 38 个 Light/Dark UI 场景均通过,PR 正文已同步测试价值与截图。真实双机链路未联调,已在正文说明。 CI 已全部通过: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fc3712d82a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3946208de3
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
Signed-off-by: guyong <guyong@xd.com>
|
@codex review 当前 head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d80e7f820b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7f57917ebb
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e7ee1ae592
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6f5744e23f
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2c7782c545
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b66a996ddf
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c933263a36
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0f01b745e2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8364849c41
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9342c50b70
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f28719002a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: da51e1dcf4
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4df41c4d80
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 70ad6ec05d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 221e7cecee
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: guyong <guyong@xd.com>
这次改了什么
摘要
供应商组展开某台电脑的剩余额度时,远程卡片只读额度镜像,没有像本机 OpenAI 详情那样主动查询原生额度,容易一直显示旧值。现在展开时直接查询目标电脑的 OpenAI 原生额度,并与本机详情卡共用通用额度桶的选择;页面在前台时每 15 秒刷新,回到前台或目标电脑重连后补读。
变更类型
feat新功能fix缺陷修复refactor/perf重构或性能优化docs/test/chore文档、测试或工程维护范围
UI 变化
docs/design-rules/DESIGN.md§4「Usage data graphics」与 §10「Light / Dark Dual-Mode Delivery Gate」。沿用现有QuotaHoverCard、语义 token、排版与进度条,不增加控件或文案;Light、Dark 均已用真实组件和模拟宿主数据检查并查看截图。sr-only无障碍文字的裁剪提示,已目检可见内容。pnpm ui:check --entry tmp/provider-group-quota-refresh.tsx --case all --theme all --viewport 720x400 --compare HEAD,macOS · Electron 42.11.12(Chromium 148.0.7778.280,与 Cindy 同一渲染内核);真实组件与主题,场景数据,不是登录账号下的完整 Cindy5e9cef3ff313(含未提交改动)entry:light / dark · zh-CN · 720×400native:nativelegacy:legacyHEAD,同一步骤左右并排怎么验证的
自动验证
2026-10-28 最新修订(630863b2bb07):修复 r4391955018 / r4391955043,7文件220增40删(3生产、4既有测试)。
pnpm ui:check --changed --theme all126/126 PASS92.3秒,pr6752-r29-r30-ui.log/.exit=0;changed-L4NMgi/overview.png及overview-14.png已看Light/Dark。之后仅补测试,最终unit和类型检查覆盖最终测试。真实组件+模拟宿主,organization-quota替换useAccountUsage等额度hook不计验证;真实双机/上游额度/Windows实机未联调。历史221e7cecee42修订(2026-10-28):修复 r4391647927。仅GroupMemberQuota及既有组件测试,2文件68增2删。
pnpm ui:check --changed --theme all126/126通过91.7秒,pr6752-r28-ui.log/.exit=0;已查看changed-Ydox9V/overview.png与overview-14.png(Light/Dark)。其后未改源;真实组件+模拟宿主,organization-quota替换额度hook不计验证;未做真实双机/上游额度/Windows实机联调。历史70ad6ec05d66修订(2026-10-28):修复 r4391443314。仅GroupMemberQuota及既有组件测试,2文件33增2删。
pnpm ui:check --changed --theme all126/126通过92.3秒,pr6752-r27-ui.log/.exit=0,已查看changed-4OJUMz/overview.png及overview-14.png(Light/Dark)。最终源代码后、提交前执行,其后无源改动;真实组件+模拟宿主,organization-quota替换额度hook不计验证;真实双机/上游额度/Windows实机未联调。历史4df41c4d8070修订(2026-10-28):修复 r4391177398。仅remoteDeviceUsageMirror与既有卡片测试,2文件72增3删。
pnpm ui:check --changed --theme all126/126通过91.2秒,pr6752-r26-ui.log/.exit=0,已查看changed-m8bVd0/overview.png及overview-14.png(Light/Dark)。最终源代码后、提交前执行,其后无源改动;真实组件+模拟宿主,organization-quota替换额度hook不计验证;真实双机/上游额度/Windows实机未联调。历史da51e1dcf4ae修订(2026-10-27):修复 r4390515501。仅GroupMemberQuota及既有组件测试,2文件82增3删。
pnpm ui:check --changed --theme all126/126通过91.7秒,pr6752-r25-ui.log/.exit=0,已查看changed-aakJEb/overview.png及overview-14.png(Light/Dark)。最终生产代码后执行,之后只补测试presence字段;真实组件+模拟宿主,organization-quota替换额度hook不计验证;真实双机/上游额度/Windows实机未联调。历史f28719002ac5修订(2026-10-27):修复 r4390277632。仅4文件79增29删(3个生产hook及既有卡片测试)。
pnpm ui:check --changed --theme all126/126通过91.1秒,pr6752-r24-ui.log/.exit=0;已查看changed-mvfZW9/overview.png及overview-14.png(Light/Dark),最终生产代码后、提交前执行,其后无源改动;真实组件+模拟宿主,organization-quota替换额度hook不计验证,真实双机/上游额度/Windows实机未联调。历史9342c50b70c4修订(2026-10-27):修复 r4389934292 / r4389934308。8文件170增25删,范围仅组成员额度查询/展示刷新。
pnpm ui:check --changed --theme all126/126通过93.0秒,pr6752-r22-r23-ui.log/.exit=0;已查看 changed-2Pw2SD/overview.png及overview-14.png(Light/Dark)。最终生产代码后执行;之后仅修测试精确期望,生产代码未变。真实组件+模拟宿主,organization-quota替换额度hook不计验证;真实双机/上游额度/Windows实机未联调,本机仅定向unit,不称完整本机unit。历史 8364849 修订(2026-10-27):修复 r4389675729 / r4389675738。仅改 GroupMemberQuota 与既有组件测试(2文件107增11删)。
pnpm ui:check --changed --theme all126/126通过92.6秒,pr6752-r20-r21-ui.log/.exit=0;已查看 changed-dC0Xyh/overview.png及额度卡overview-14.png(Light/Dark)。最终生产代码后、提交前检查,其后未改源;真实组件+模拟宿主,organization-quota替换hook不计验证。真实双机/上游额度/Windows实机未联调;本机仅定向unit,不称完整本机unit。历史 0f01b74 修订(2026-10-27):修复 r4389409976 / r4389409994 / r4389410005。
pnpm ui:check --changed --theme all126/126通过97.0秒;pr6752-r17-r19-ui.log/.exit=0,已查看 changed-mE96VI/overview.png与额度卡overview-14.png(Light/Dark)。最终源代码后、提交前检查,此后无源改动;真实组件+模拟宿主,organization-quota替换hook不计验证。真实双机/上游额度/Windows实机未联调;本机只有定向unit,不称完整本机unit。历史 c933263 修订(2026-10-27):修复 r4389193553 / r4389193568。
pnpm ui:check --changed --theme all126/126通过(93.3秒),pr6752-r15-r16-ui.log/.exit=0;已查看 changed-2I61nf/overview.png 与额度卡 overview-14.png(Light/Dark)。这是本次最终生产改动的真实组件+模拟宿主检查,organization-quota的替换hook不计验证;真实双机/上游额度/Windows实机未联调。本机只有定向unit,不称当前head完整本机unit。历史 b66a996 修订(2026-10-27):修复 r4388718323 / r4388718335。只为组成员原生额度镜像开启共享条目级重连观察,每个设备/账号只有一份观察者;重连探测可越过旧“不支持”缓存,普通 15 秒轮询仍保留 15 分钟退避。旧请求在重连后才报不支持时,队列中的恢复探测同样有效;收起/隐藏后注销观察者,重开时重新确认能力。额度卡调用现有 UI 重连 epoch hook 时显式传入已知在线初值,首次普通在线 presence 不再误排第二读;其他调用保留默认语义,真实 relay、peer 与离线→在线恢复仍补读。未修改 device-link 传输重试、共享 relay、路由、发送前或服务端。
pnpm ui:check --changed --theme all126/126 通过(92.0 秒),pr6752-r13-r14-ui-final.log/.exit=0;已查看 changed-fgdIGY/overview.png 与额度卡 overview-14.png,含 Light / Dark。真实组件+模拟宿主,organization-quota 的替换 hook 不计验证;真实双机/上游额度/Windows 实机未联调。最终修订后重新执行,不用中间 UI / typecheck 替代最终结果。历史 2c7782c 修订(2026-10-27):修复新复审 r4388475435 / r4388475446。远端成员必须有匹配的设备目录行且控制允许;目录初始失败、目标行缺失或移除时关闭 provider/额度读取,在线 presence 不能代替本机控制许可。实时额度卡同时观察既有 data-app-hidden 原生隐藏信号,在 visibilityState 仍为 visible 时也暂停,本机/远端初始隐藏不读、恢复后补读。未改共享可见性 hook、路由、发送前、wire 或服务端。
pnpm ui:check --changed --theme all126/126 通过(92.7 秒),已查看 changed-QJ8evr/overview.png 与额度卡 overview-14.png;artifacts/pr6752-r11-r12-ui.log/.exit=0。真实组件、模拟宿主,含 Light / Dark;真实双机/上游额度/Windows 实机未联调。organization-quota 替换额度 hook,不计为 hook 验证。2026-10-27:为解决主分支额度读取更新产生的 4 文件冲突,同步
upstream/main c593cd79157a,签名 merge commit6f5744e23feb。保留主分支普通远端卡片/模型列表的 60 秒共享读取与原有断言;组成员卡片保留原生优先、旧端兜底、15 秒后台刷新、恢复去重与旧 pending 补读;本机恢复队列和 relay/owner 栅栏不变。未修改路由、发送前核验、协议或服务端。该合并提交的历史验证如下;本轮两条审阅修复后的最新验证见上段。pnpm ui:check --changed --theme all:当前合并提交 126/126 变体通过(127.1s);已查看 changed-LAHK8A/overview.png 与额度卡所在 overview-14.png,含 Light / Dark。真实组件与模拟宿主;真实双机、上游额度与 Windows 实机未联调。organization-quota 替换了额度 hook,不计为这些 hook 的验证。pnpm test:unit:related因同步主分支包含 package.json / 测试基座更新自动回退全量 unit,最终 exit 0;runner 609 passed / 2 既有 skips,所有有必需 unit 的工作区通过(Desktop 598.6s、Mobile 89.0s、maker-core 52.7s),7 个无适用 unit 的包按既有配置跳过。日志artifacts/pr6752-main-sync-related.log与.exit=0。这轮仅 unit tier,不代表数据库、Git 集成或 Windows 实机已在本机验证。以下为
46693c2d6f的历史验证记录:格式检查说明:整文件 Prettier 检查的 6 个文件在基线 HEAD 已不符合格式,本次未做无关的整文件重排;基线符合格式的
useRemoteDeviceUsage.ts已格式化并通过检查。合并期间的 UI 检查说明:未提交合并状态下的
--changed=upstream/main按旧 merge-base 多选了主分支页面;整批 344 变体在codex-reset的测试浏览器关闭后连续报Target page, context or browser has been closed,不计为通过。随后相关额度页面 30 场景与原生/旧端 4 场景独立重跑通过。最终合并提交后正常--changed选出本 PR 的 10 个文件、60 个变体,全部通过;未修改 UI 检查器或放宽断言。新增测试价值:
useDeviceProviderSubscriptionCard.test.ts:从真实useDeviceProviderSubscriptionCard入口验证卡片优先显示原生额度,以及定时、隐藏、回前台、目标重连、卸载和本机刷新时序。依据是本次用户反馈及provider-groups.md§10。原有覆盖仅验证账号位置;最小失败输入是镜像已用 50%、原生已用 73%,且没有原电脑面板或用量推送。另覆盖旧请求 pending 时的重连、回前台、成员恢复在线、收起后重开,原生与旧端镜像均须在旧请求失败后补读一次,不等定时器;以及收起/断链期间漏掉账号切换 clear、原生补读失败但新账号镜像已到达时,必须显示新账号 82% 已用而非旧原生 73%,原生恢复后重新优先使用原生值。审阅 r4355398578 新增两条真实 hook/镜像回归:恢复前没有旧请求在途,回前台或成员恢复在线时原生成功返回 91%,重复请求若失败不能把界面降回镜像 50%;须只读一次,已有旧请求的四种补读路径仍通过。审阅 r4355497194 新增实际请求调度器回归:同电脑 6 个账号的 12 路慢定时读取最多只启动 4 路,同时新展开的第 7 个账号立即显示原生额度。审阅 r4362108215 补齐本机真实 hook 回归:初始原生查询 pending 时隐藏再回前台,保留第一次成功的 73%,只排队一次补读,补读失败仍保留 73%;原用例只覆盖远端恢复与本机定时。新增回归先红后绿。tier 为 unit,使用内存宿主与假计时器;最新 16 项单文件命令墙钟 4.765 秒(Vitest 2.86 秒)。useRemoteDeviceUsage.test.ts:从真实远程原生额度 hook 验证两个消费者共享查询、非同形用量推送不能覆盖原生结果或触发循环、clear 后迟到结果失效,以及旧端具名账号无回显时拒绝采用。依据是同一查询修复及账号隔离合同;原有镜像测试未覆盖 RPC 与推送形状不同。最小失败输入为两个卡片共享一个原生查询、查询完成前收到 clear;具名回包的既有用例扩展为先缓存有效值、再收到无回显/无效/null 回包,确认旧缓存同样失效。tier 为 unit;最新单文件命令墙钟 2.25 秒(Vitest 1.43 秒)。GroupMemberQuota.test.tsx:通过真实展开组件验证审阅 r4344705878。原覆盖仅检查离线时停止读取,未覆盖恢复;最小失败输入是组状态仍缓存 offline、同账号设备列表已更新为在线且允许控制,应立即显示目标额度,实际离线或任一控制开关关闭仍停止读取。依据为provider-groups.md§10;回归先红后绿,tier 为 unit,使用现有目录与卡片边界 fake,不推进 15 秒计时器;审阅 r4355497190 新增目录失败保留旧离线数组时的目标在线推送回归:立即显示目标额度,同时验证错误目标、双方控制开关、切换目标、relay 停止及 owner 切换不能误恢复,卸载清理订阅。先红后绿;审阅 r4356185973 再补最小回归:目录与组均旧在线,relay stopped 后立即显示离线、清空额度/provider 读取目标,目录随后清空为 null 或仍为旧在线数组、迟到 presence 都不能恢复;本机卡仍显示,relay online 后切回远端可恢复,卸载清理监听。先红后绿;审阅 r4356429402 补齐 5 条先红后绿回归:挂载前已 stopped、初始状态读取失败、两种迟到初始回复不能覆盖新推送、旧 owner 回复失效;旧测试只覆盖挂载后的 stopped 推送。最新 15 项单文件命令墙钟 2.36 秒(Vitest 1.39 秒)。useCodexRateLimits.test.ts:真实本机原生 hook,新增 clear / unmount 两个队列取消分支。另一个普通消费者仍挂载时,收起实时卡也必须取消该卡补读;账号清空后不恢复旧结果。原 clear/unmount 测试没有排队请求;最小输入为两个消费者、一次 pending、实时卡隐藏/恢复后清空或收起。unit;收起仍有其他观察者的回归先红后绿;既有并行消费者较新请求优先、授权完成与旧回复隔离测试保持通过。最新 18 项单文件墙钟 2.955 秒(Vitest 1.95 秒)。设置卡原测试仅补齐可选参数的精确期望,保留 providerId 与套餐显示断言;该文件 4 项墙钟 4.671 秒(Vitest 3.07 秒)。CI 结果(2026-10-28 01:54更新,head未变):当前
630863b2bb07432f5fb07912ab4fc55e7db5b993的 client-ci run40552373178 attempt1仍在运行,已知两个失败,不能合并。DCO及提交后/正文更新后的两条设计依据40552373311、40552617237 SUCCESS;本次正文再更新后的最新设计依据须另看状态。当前head Codex复审于2026-10-27T17:47:18.573930Z完成,has_any_findings=false、has_unresolved_findings=false;实际30resolved/0unresolved。维护者尚无直接Approve。历史221e7cecee42的client-ci run40548592267 attempt1本轮已核实完整SUCCESS:Linux/Windows各4分片、verify-checks/verify、Windows汇总、Windows runner/DB与Desktop Git integration全成功,DCO及两条设计依据SUCCESS。其自动复审于2026-10-27T17:25:07Z完成,提出本轮29/30;旧308项/完整CI不能代替新6308验证。
历史70ad6ec05d66的client-ci run40543861967 attempt1本轮已核实完整SUCCESS:Linux/Windows各4分片、verify-checks/verify、Windows汇总、Windows runner/DB与Desktop Git integration全成功,DCO与两条设计依据SUCCESS。其自动复审于2026-10-27T16:56:41Z完成,提出本轮第28条;306项/完整CI均为历史,不能代替新221e验证。
历史4df41c4d8070的client-ci40541096837 attempt1在本轮推送后仍in_progress:Linux四分片、verify-checks/verify、Windows runner/DB及Desktop Git integration已成功,Windows四分片仍执行中,不能称完整CI全绿,也不能替代新70ad head。DCO和两条设计依据成功。其自动复审于2026-10-27T16:38:42Z完成提出本轮第27条;旧305项为历史。
历史da51e1dcf4ae的client-ci run40532784329 attempt1已完整SUCCESS,Linux/Windows各4分片、verify-checks/verify、Windows汇总、Windows runner/DB与Desktop Git integration全成功,DCO及三次设计依据均SUCCESS。其自动复审15:51Z失败后一次手动重试于2026-10-27T16:14:45Z完成,提出本轮第26条;不能以旧302项/CI代替当前4df验证,不重复旧请求。
历史f28719002ac5的client-ci run40527635612 attempt1已完整SUCCESS:Linux/Windows各4分片、verify-checks/verify、Windows汇总、Windows runner/DB及Desktop Git integration全成功,DCO及两条设计依据SUCCESS。自动复审于2026-10-27T15:18:34Z完成,提出本轮第25条。其300项/完整CI均为历史,不能代替新da51验证。
历史9342c50b70c4的client-ci40524505896 attempt1在本次推送后仍in_progress:Linux四分片、verify-checks/verify、Windows3/4、Windows runner/数据库及Desktop Git integration成功,Windows1/2尚执行中;不能写为全绿,也不能代替新f287 head。两条设计依据SUCCESS。自动复审于2026-10-27T14:59:35Z完成,提出本轮第24条;其297项本机结果均历史。
历史8364849c41b2的client-ci run40520108271 attempt1已completed/SUCCESS,DCO及两条设计依据SUCCESS。自动复审于2026-10-27T14:31:18Z完成,提出本轮22/23两条;其290项本机验证与CI不能代替当前9342 head。
历史 0f01b74 的client-ci run40516586151 attempt1本轮已读到完整SUCCESS:Linux/Windows各4分片、verify-checks/verify、Windows汇总、Windows runner/数据库、Desktop Git integration全部成功。其自动复审2026-10-27T14:08:45Z完成提出本轮20/21两条;其成功CI及286项本机结果不能代替当前8364 head验证。
历史 c933263 的client-ci run40513230578 attempt1在本次新提交前仍执行中,不代表当前head验证。其自动复审于2026-10-27T13:45:02Z完成并提出本轮3条问题;对应修复和验证见本节最上段。
历史 b66a996 的 client-ci run40506834221 attempt1 于2026-10-27T13:09:30Z完整SUCCESS,Linux/Windows各4单测分片、verify-checks、verify、Windows汇总、Windows runner/数据库及Desktop Git integration全成功。其自动复审失败后只发起一次重试,重试于13:24:26Z完成并提出本轮两条问题。它和更早2c/6f的CI均仅为历史,不能替代当前c933 head验证。
CI 排查记录:
5ba7d49a42的 Linux 第 1 分片 在既有cindySubagentRunner.test.ts的孤儿进程退出用例出现一次失败。本 PR 未修改packages/maker-core,前两轮同分片通过;本地 macOS 定向复跑通过。fc3712d82a的首轮 Linux Desktop 分片 在既有 SQLite Worker 原生绑定测试遇到 5 秒超时,Windows 第 3 分片 的既有导入用例等待进度失败并伴随临时目录清理ENOTEMPTY;已比对该 CI 合并快照211e2fb81853,对应测试和实现与本地一致,本地分别 2 项、4 项定向测试通过。整轮结束后仅重跑失败分片和依赖的汇总门禁,第 2 次尝试全部通过;未修改这些实现、测试或 CI 配置。CI 最新排查:
7f57917ebb的 run 39904867300 attempt 1 已结束,Linux 第 2 分片在既有rewindNativeBoundarySqlite.test.ts的首次动态导入 beforeEach 超过 10 秒,Windows 第 3 分片在既有 bot-import 两个桥接用例等待完成时失败并伴随ENOTEMPTY。已获取 CI 合并快照50262363ad2a,核对这些测试和直接实现与本地一致,本 PR 未修改它们。本地 bot-import 两项通过;SQLite 首次 setup 超时可重现,单独运行整文件仍为首项 setup 超时、后两项通过。未把该结果称为通过或直接认定偶发,未修改这些测试、超时、实现或 CI;本次额度修订推送后由新 head 的完整 CI 再验证。本轮 CI 排查:
e7ee1ae592的 Linux 第 1 分片 job120537989566 在既有cindySubagentRunner.test.ts的accepts steering while a child is backing off for automatic retry中出现resultReady为 true 而期望 false。已读日志及实际 fixture,获取 CI 合并快照2656f3d26bb7;本 PR 未修改 PI 路径。该快照的失败用例与 fixture、runner source 与本地一致,测试文件仅另一条退出确认用例有差异;但 PI 目录其他上游实现有变化,因此本地结果不能证明 CI 合并快照已通过。本地选中该用例通过(1 项,Vitest 1.93 秒,其余 47 项未选中)。未修改测试/超时或重跑旧 head;本次额度修复由新 head CI 验证。手工验证
macOS 独立 Electron UI 场景,使用真实额度卡与主题、模拟设备接口,已目检 Light / Dark 下的原生查询与旧端回退及改前/改后对照。截图不代表真实双机联调。
未执行的验证
风险
风险分类
影响与回滚
提交前检查
git commit -s,见 DCO)