Files
a1chzt 45cd5a656d fix(cms): keep watching a hover entry until it is really visible
The hover entry sampled its visibility once, one animation frame after the
state update that removes `hidden`. When that frame won the race with React's
commit the host was still `display: none` and reported no box, and because
nothing ever looked again the Test acceptance receipt was suppressed for the
whole session — the entry then displayed normally, so the campaign sat in the
CMS waiting on a receipt that could no longer arrive.

Visibility now resolves through one shared watch that re-checks on layout,
on page visibility and after re-mount, reports at most once, and keeps
watching a slow host instead of giving up on it. `mountTouchpoint` moves onto
the same watch so the modal and badge hosts stop carrying a second, weaker
copy of this rule.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 11:38:30 +08:00
..