Skip to content

[ci-flake] rive-trigger-rerender — useRiveTrigger timing flake (#230) #309

Description

@mfazekas

Signature: rive-trigger-rerender
Regex: expected 2 to be greater than or equal to 3
Category: test-timing
First seen: ~2026-06 · Last seen: 2026-06-29 (before the guard landed)

Occurrence log

Hypothesis

The #230 test drove re-renders with setInterval(50ms) and asserted renderCount >= 3 within a 2000ms waitFor — needing exactly 2 interval ticks with zero margin. A busy JS thread at mount starved the ticks, so only 1 landed and the assert failed (~1% natural flake).

Reproduction

example/__tests__/use-rive-trigger.harness.tsx — the guard blocks the JS thread for 500ms at mount, deterministically starving any wall-clock re-render driver (old setInterval approach → 8/8 fail; new deterministic context.rerender() → 8/8 pass).

Mitigation

Fixed in #303: drive re-renders deterministically via an exposed context.rerender() instead of racing setInterval.

Closing criterion (guard) — MET ✅

Permanent regression guard added in #303 (the 500ms mount block). Marked ci-flake:resolved.


Tracked via CI Flake Triage. This issue is intentionally closed — it is a ledger entry, not open work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ci-flakeIntermittent CI failure tracked via the flake-triage processci-flake:resolvedFlake permanently guarded (test/pin/build fix)

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions