DanielLavrushin:B4 Discovery 卡片与 Apply 对话框的主机勾选状态不一致

DanielLavrushin 说明,B4 Discovery 结果卡会把已由其他 set 处理的主机显示为已勾选,但 Apply 对话框会按实际匹配将其取消勾选并提示归属,用户直接创建 set 可能遗漏卡片显示的主机。问题可由卡片复用 checkDomain 结果修正;作者称该现象在 1.90.0 前主分支 smoke test 中发现。

作者原文

Problem

The Discovery result card lists a page host that another set handles as ticked, with no note. The Apply dialog then shows the same host unticked, with "handled by set X". The card's text says "Ticked hosts are added to the set by exact name", so a user who leaves the ticks alone and clicks Create set does not get a host the card showed as ticked.

Nothing is hidden, since the dialog shows the note and the host can be ticked there. It is easy to miss, and the page then stays without that host.

Evidence

Measured 2026-11-05 on main (1d2271e9). A decoy set listed gdb.rferl.org, then Discovery ran for www.svoboda.org:

  • Card: tags.svoboda.org, gdb.rferl.org and docs.rferl.org all ticked, no note.
  • Apply as a set: gdb.rferl.org unticked, "handled by set smoke-decoy".
  • Ticking it in the dialog works: the set got the host, the decoy lost it, and the message named the move.

The dialog follows #491's documented default, which leaves hosts another set handles unticked. The card is the side that differs:

Suggested direction

Give the card the same checkDomain result, so it shows the same note and the same tick as the dialog. #491's default stays as it is.

There is no UI test framework, so the fix can be checked against hostStates with a saved match list.

Found during the smoke test of main before 1.90.0.