Repository navigation
GitMate 1.11.2
上一版修了"历史按钮该禁",但设置点进去看不到 —— 这个版本修的是后半截。
症状
面板显示「这里还不是 Git 仓库」,设置按钮可以点 ✓,但页面没变:初始化卡片还挡在那儿。
原因
主区域的组装顺序是:
不是仓库 → 渲染初始化卡片
是仓库 → 按 view 渲染(设置 / 历史 / 改动…)
于是设置视图在非仓库下永远不渲染 —— 按钮亮了,页面没变。
修法
设置渲染在初始化卡片之上。 理由是设置属于插件而不是仓库,而且 .gitignore 方案在仓库存在之前就有用(gitignorePlan 本来就是照着纯目录设计的,不是照着仓库)。
验证
node test/smoke.mjs # 604 项断言这次的断言不看源码,看屏幕:渲染守卫现在会收集渲染出来的文本节点,然后断言:
- 「不是仓库」→ 屏幕上有初始化卡片的那句话 ✓
- 「不是仓库 + 请求设置」→ 屏幕上有设置内容,且没有那句话 ✓
把旧组装放回去,断言立刻报:
FAIL and asking for settings shows settings, not the initialise card
— "notRepo stashes 1 wip now stashPop stashApply notRepo notRepoHint init"
为什么这个 bug 上次没被测出来:之前的断言只检查"渲染不抛错",而初始化卡片确实渲染得好好的——错的是它和谁一起渲染。收集屏幕文本之后,这类"点击没反应"的问题第一次变得可测。
(写这条断言时我先用 notRepo 判断卡片,但 hero 里的分支位置在非仓库时也显示 notRepo,太粗 —— 改用只在卡片里出现的 notRepoHint。测试数据也有两处欠说明,一并修了。)