What's Changed
Refactor: isConfiguredFor() decoupled from flow execution config (#129)
EmailAuthenticatorForm.configuredFor() simplified
The method previously called provider.isConfiguredFor() (which already handles the skip-setup check internally) and then independently called isSkipSetupEnabled() again — a redundant second traversal of all realm flows. The method now fully delegates to the credential provider, and the duplicate isSkipSetupEnabled() has been removed from EmailAuthenticatorForm.
isSkipSetupEnabled() uses anyMatch instead of findFirst()
The previous implementation used findFirst(), making the result non-deterministic when the authenticator was configured in multiple flows. The method now uses anyMatch semantics:
- Returns
trueif any email-authenticator execution in any flow hasskipSetup=true - Falls back to
DEFAULT_SKIP_SETUP(true) when no executions are found (backward-compatible)
New tests cover multi-flow anyMatch and all-false scenarios.
Full Changelog: v26.3.1...v26.3.2