Skip to content

fix: 加载 Profile 前清除主屏标记,diff 增加取消主屏检测#3

Merged
SMWHff merged 1 commit into
mainfrom
worktree-agent-a81ecf0e
Jul 9, 2026
Merged

fix: 加载 Profile 前清除主屏标记,diff 增加取消主屏检测#3
SMWHff merged 1 commit into
mainfrom
worktree-agent-a81ecf0e

Conversation

@SMWHff

@SMWHff SMWHff commented Jul 9, 2026

Copy link
Copy Markdown
Owner

修复内容

修复了两个 Profile 加载相关的逻辑问题:

问题 1: load_profile 加载前未清除主屏标记

  • 加载配置前调用 set_noprimary() 清除所有现有主屏标记
  • 防止加载无 is_primary 配置时保留旧主屏,导致多个主屏共存
  • 如果清除失败仅记录警告,不阻断加载流程

问题 2: diff_profile 缺少对称检测

  • 增加 if cur.is_primary and not dc["is_primary"] 分支
  • 配置中取消主显示器时,差异输出会正确显示「取消主显示器」

测试覆盖

  • 新增 test_diff_profile_primary_removal 测试「取消主显示器」路径
  • 所有 8 个 load_profile 测试均已添加 set_noprimary mock
  • 401 项测试全部通过

- load_profile() 开始时调用 set_noprimary() 清除旧主屏标记,防止加载
  无主屏配置时保留前一个配置的主屏状态(导致多个主屏共存)
- diff_profile() 添加对称检测:当配置中 is_primary=False 而当前显示器是
  主屏时输出"取消主显示器"
@SMWHff SMWHff merged commit b6c5956 into main Jul 9, 2026
2 of 3 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