Skip to content

fix(build-run): 统一命令对话框的继承与校验逻辑#186

Merged
lulu-sk merged 1 commit intomasterfrom
fix/build-run-dialog-inheritance
Mar 10, 2026
Merged

fix(build-run): 统一命令对话框的继承与校验逻辑#186
lulu-sk merged 1 commit intomasterfrom
fix/build-run-dialog-inheritance

Conversation

@lulu-sk
Copy link
Copy Markdown
Owner

@lulu-sk lulu-sk commented Mar 10, 2026

将 Build/Run 命令对话框的草稿处理抽离为独立辅助模块,
统一默认值、配置克隆、命令有效性判断与持久化前的标准化逻辑。
子 worktree 在“覆盖当前节点”和“继承父项目”之间切换时,
会同步对齐草稿内容;保存到父项目时会清理当前节点的覆盖配置,
从而真正恢复对父项目命令的继承行为。

同时将执行失败和保存失败从原生 alert 改为应用内提示弹窗,
避免打断当前弹窗的焦点与交互流程,并补充对应单元测试。

补充修复:

  • 将 hasBuildRunCommand 声明为类型守卫,修复 resolveEffectiveBuildRunCommand 无法通过 web 类型检查的问题。

产品层面:

  • Build/Run 配置面板在 worktree/父项目之间切换时行为更一致;
  • 恢复继承与错误提示更稳定,减少误保存和交互中断。

将 Build/Run 命令对话框的草稿处理抽离为独立辅助模块,
统一默认值、配置克隆、命令有效性判断与持久化前的标准化逻辑。
子 worktree 在“覆盖当前节点”和“继承父项目”之间切换时,
会同步对齐草稿内容;保存到父项目时会清理当前节点的覆盖配置,
从而真正恢复对父项目命令的继承行为。

同时将执行失败和保存失败从原生 alert 改为应用内提示弹窗,
避免打断当前弹窗的焦点与交互流程,并补充对应单元测试。

补充修复:
- 将 hasBuildRunCommand 声明为类型守卫,修复
  resolveEffectiveBuildRunCommand 无法通过 web 类型检查的问题。

产品层面:
- Build/Run 配置面板在 worktree/父项目之间切换时行为更一致;
- 恢复继承与错误提示更稳定,减少误保存和交互中断。

Signed-off-by: Lulu <58587930+lulu-sk@users.noreply.github.com>
@lulu-sk lulu-sk self-assigned this Mar 10, 2026
@lulu-sk lulu-sk merged commit b2734d5 into master Mar 10, 2026
4 checks passed
@lulu-sk lulu-sk deleted the fix/build-run-dialog-inheritance branch March 10, 2026 11:45
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