mirror of
https://github.com/nexu-io/open-design.git
synced 2026-09-20 06:15:06 +08:00
45cd5a656d
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>