Skip to content

GitMate 1.11.2

Choose a tag to compare

@alanhaskey alanhaskey released this 14 Oct 05:19
· 5 commits to main since this release

上一版修了"历史按钮该禁",但设置点进去看不到 —— 这个版本修的是后半截。

症状

面板显示「这里还不是 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。测试数据也有两处欠说明,一并修了。)