mirror of
https://github.com/block/buzz.git
synced 2026-10-29 05:21:31 +00:00
Desktop Smoke E2E shards 3 and 4 were red on this branch's CI while the branch touches neither spec. Both failures are pre-existing races in the specs themselves, so fix them where they are. Shard 3 — "profile hover uses the channel hover surface" sampled the channel row's background straight after hover(), which lands mid `transition-colors` fade (rgba(0, 0, 0, 0.027) on the failing run). The profile card then settles on the real hover colour, rgba(0, 0, 0, 0.04), so toHaveCSS could never match and all three attempts failed. Poll the reference element until two consecutive reads agree on a value that has moved off its resting colour. Reproduced locally at 1-in-5 before the change; 12 consecutive runs green after. Shard 4 — "round-trips and reopens structured message-text conditions" failed two ways. The CI page snapshot shows the reopened dialog in YAML mode holding `filter: str_ends_with(trigger_text, "Workflow notification")` and a textless send_message step: addMessageStep filled "Message text" before the inspector handed over from the trigger to the new step, so the step body overwrote the trigger condition. That definition no longer parses as a form, getInitialEditorMode falls back to YAML, and the trigger controls the test waits on never render — a 30s test timeout. Wait for the step inspector's own Action control before filling, and pin the saved YAML right after create so any recurrence fails there instead of stalling. The remaining attempt measured the three Match operator buttons with sequential boundingBox() calls while the inspector was still animating in (Framer Motion, width 0 → 26rem and x 24 → 0 over 240ms), reporting the second button 44px left of the first. That animation is driven off requestAnimationFrame, so document.getAnimations() is empty and waitForAnimations cannot see it; read the boxes from one frame via evaluateAll and poll until the geometry stops moving. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Matt Toohey <contact@matttoohey.com>