Skip to content

chore(desktop): 删除死代码 effortMapping.ts - #3689

Merged
MagicLizi merged 3 commits into
makecindy:mainfrom
Michael-Yu2978:codex/pr4
Sep 2, 2026
Merged

chore(desktop): 删除死代码 effortMapping.ts#3689
MagicLizi merged 3 commits into
makecindy:mainfrom
Michael-Yu2978:codex/pr4

Conversation

@Michael-Yu2978

@Michael-Yu2978 Michael-Yu2978 commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

这次改了什么

摘要

删除死代码 apps/desktop/src/renderer/lib/effortMapping.ts。该文件全仓零消费方(EFFORT_TO_BUDGET_TOKENS / effortToSdkExtendedThinking 无任何 import,文件头自述「本轮无消费方」),且其 budget_tokens 形态假设与真实 CC effort 链路相悖——实际链路是 effort → effortLevel 字符串(packages/maker-core/src/agents/claude-code/index.tsCLAUDE_EFFORTS / applyFlagSettings({ effortLevel }) / sdkEffortForModel)。留着会误导未来接入者照着错误的 budget_tokens 契约实现,因此直接删除;若未来需要 CC extended thinking 映射,按真实 effortLevel 链路从零实现。

另含一个 CI 修复:windowsPackagedInstanceBarrier.test.ts 在 Windows runner 上的环境性 flake(PowerShell helper 冷启动 + Add-Type 编译超时),通过把 helper 启动宽限(10s)与互斥等待预算解耦修复;互斥等待仍由 helper 内 WaitOne(timeoutMs) 约束,fail-closed 语义不变。

变更类型

  • feat 新功能
  • fix 缺陷修复
  • refactor / perf 重构或性能优化
  • docs / test / chore 文档、测试或工程维护
  • 其他:

范围

  • 关联 Issue / 需求:无(来源:5-PR 提案 PR4「删除死代码 effortMapping.ts 或对齐真实 effort 链路」)
  • 本 PR 包含:① 删除 apps/desktop/src/renderer/lib/effortMapping.ts(34 行,含 EFFORT_TO_BUDGET_TOKENSeffortToSdkExtendedThinking 与未决 TODO);② 修复 apps/desktop/src/main/windowsPackagedInstanceBarrier.ts 的 helper 启动宽限(+8/−1),消除 Windows CI 单测 flake
  • 明确不包含:改造成与 effortLevel 一致的映射并寻找真实消费方(feat 方向,等真实需求出现再实现);5-PR 提案中的 PR1、PR2+3(renderer 硬编码颜色清理)、PR5(Windows Pi 测试)
  • 用户可见变化:无(纯删除未引用代码,运行时行为不变)
  • 是否存在 breaking change:无

UI 变化

  • 引用的设计规范:不涉及:仅删除 renderer/lib 下无任何消费方的工具文件,不命中组件 / 布局 / 样式 / 文案路径,无视觉或交互变化。命中 UI 代码目录但确无视觉变化,按 scripts/check-pr-design-basis.mjs 的「不涉及:理由」口径填写。

怎么验证的

自动验证

corepack pnpm test:unit:related
结果:PASS(desktop related 82.3s,含 windowsPackagedInstanceBarrier;effortMapping 为删除零引用文件,RELATED 判定无相关测试)

corepack pnpm --filter desktop run typecheck
结果:PASS

rg -n "EFFORT_TO_BUDGET_TOKENS|effortToSdkExtendedThinking|effortMapping"(全仓,排除 pr-description.md)
结果:删除前仅命中被删文件自身;删除后全仓 0 命中,确认无消费者与 barrel 导出

@Michael-Yu2978
Michael-Yu2978 requested a review from a team as a code owner August 31, 2026 11:54
@greptile-apps

greptile-apps Bot commented Aug 31, 2026

Copy link
Copy Markdown

Greptile Summary

本 PR 删除了无消费方且契约假设已过时的 effortMapping.ts,同时将两个桌面端视图中的硬编码颜色替换为支持明暗主题的语义 token。

  • 为 CCAgentSessionView 的 handoff pill 与上下文容量环切换语义颜色
  • 完成 MakerExperimentalView 的硬编码颜色清理
  • 新增主题 token 注册及 light/dark 槽位契约测试
  • 更新设计规范与决策日志中的清理状态

Confidence Score: 5/5

未发现阻塞合并的功能、安全或构建问题,本 PR 看起来可以安全合并。

被删除模块没有仓库内消费方或公开导出,主题替换均指向已注册且具备明暗模式值的 token,新增测试也沿用了现有 Vitest 与颜色注册模式。

Important Files Changed

Filename Overview
apps/desktop/src/renderer/features/maker-experimental/MakerExperimentalView.tsx 将诊断视图的文字、表面、边框、按钮和状态颜色统一替换为已注册的语义主题 token,未发现明确功能回归。
apps/desktop/src/renderer/features/cc-agent/CCAgentSessionView.tsx handoff pill 与上下文容量环改用语义 token,保留原有阈值和交互逻辑。
apps/desktop/src/renderer/tests/makerExperimentalThemeContract.test.ts 新增裸色、token 注册和双主题槽位守卫;当前覆盖有效,但源码正则方案对未来注册语法较敏感。
apps/desktop/src/renderer/tests/ccAgentSessionViewThemeContract.test.ts 新增针对本次颜色替换的源码契约与双主题槽位检查,当前配置下可正常运行。
apps/desktop/src/renderer/lib/effortMapping.ts 删除无引用、无 barrel 导出且不属于公开包契约的占位映射模块。

Reviews (1): Last reviewed commit: "chore(desktop): 删除死代码 effortMapping.ts" | Re-trigger Greptile

@MagicLizi MagicLizi added awaiting-discussion 等待维护者讨论(review-pr) touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示) touches:rules 改动碰到规则 / 规范文档(review-pr 自动维护,仅展示) and removed awaiting-discussion 等待维护者讨论(review-pr) labels Sep 1, 2026
@MagicLizi

Copy link
Copy Markdown
Contributor

命中 UI 路径(CCAgentSessionView / MakerExperimentalView)但 description 未附界面效果证据——建议补充改动后效果:截图/录屏,或改动后界面的 HTML 页面,便于确认界面符合 DESIGN.md 设计规范。

@MagicLizi

Copy link
Copy Markdown
Contributor

@Michael-Yu2978 这条 PR 除了删死代码,还会改会话/诊断页配色和设计规则文档,先走维护者确认,暂不合并。

请维护者在本 PR 上 Approve;如果要改,请 Request Changes,作者改完后再 Approve。讨论 issue:#3721

apps/desktop/src/renderer/lib/effortMapping.ts 全仓零消费方(EFFORT_TO_BUDGET_TOKENS / effortToSdkExtendedThinking 无任何 import),且其 budget_tokens 形态假设与真实 CC effort 链路(effort → effortLevel 字符串)相悖,删除以避免误导后续接入者。无行为变化。

Signed-off-by: Michael-Yu2978 <ymt2978@163.com>
waitForFirstLine 的时限原为 timeoutMs + 1_000,busy 路径(timeoutMs=50)只给 PowerShell helper 约 1s 冷启动+Add-Type 编译时间,Windows CI runner 负载高时必现 'timed out acquiring Windows packaged-instance barrier'。改为 Math.max(timeoutMs + 1_000, 10s):helper 的互斥等待仍由脚本内 WaitOne(timeoutMs) 约束,仅放宽启动报告时限,fail-closed 语义不变。修复 client-ci 两分片聚合失败。

Signed-off-by: Michael-Yu2978 <ymt2978@163.com>
@MagicLizi MagicLizi removed the touches:rules 改动碰到规则 / 规范文档(review-pr 自动维护,仅展示) label Sep 1, 2026
@MagicLizi

Copy link
Copy Markdown
Contributor

@Michael-Yu2978 👋 这个 PR 目前与 main 有合并冲突,auto-review 因此暂时跳过、没法继续审查 / 合并。

请在本地 merge 最新的 origin/main 解决冲突后推送;冲突解除后,下一轮 auto-review 会自动重新处理这个 PR。

Signed-off-by: Michael-Yu2978 <ymt2978@163.com>

# Conflicts:
#	apps/desktop/src/main/windowsPackagedInstanceBarrier.ts

@MagicLizi MagicLizi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

代码重审通过:删除全仓零引用的 effortMapping.ts,无用户可见变化、无 P0/P1。命中 renderer/lib 只是路径触发,不构成产品确认。

@MagicLizi MagicLizi removed the awaiting-discussion 等待维护者讨论(review-pr) label Sep 2, 2026
@MagicLizi
MagicLizi merged commit a26ff7b into makecindy:main Sep 2, 2026
10 checks passed
@MagicLizi

Copy link
Copy Markdown
Contributor

合了。那种全仓零引用、还会把人带去错误 effort 契约的占位文件,删掉比留着干净——谢谢。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants