Skip to content

v1.6.1 — actionability gate

Latest

Choose a tag to compare

@HeyRenan HeyRenan released this 08 Jul 19:33
9cb8e90

Fixed

  • Recording against a drifted app state is now refused, not silently mis-recorded. Re-running a roster after the app moved on — a submitted form's button now disabled, a spent one-time action, a control now under an overlay — slipped the live safeguard (it drove the target with a DOM el.click(), which punches through disabled/covered elements, so the real coordinate-click hit nothing or the overlay = random clicks). The safeguard now refuses ([not-actionable], exit 2) on a disabled / aria-disabled / pointer-events:none / covered target, routing you to reset the app to a fresh state. Occlusion is viewport-guarded.
  • Audit driving matches real typing. fill now sets via the native input setter and dispatches input + change + blur, so a submit gated on change/blur/controlled-state enables during the audit too — the form-flow preset is no longer false-refused.

Tests: 576 unit + a 22-case real-Chromium battery (premise, verdicts, audit before/after, form-flow regression, rec.mjs E2E).