"Help us confirm it's you — Enter the code below": the UFAC image captcha,
whose characters the person reads from a captcha image and types. The screen
keeps the step's serverParams (the challenge id and the persisted data the
submit and the refresh both carry, derived from the controller payload once),
the UFAC state accumulated so far, and the imageUrl the payload embeds —
what the person reads the characters from.
Reached only as an interruption of a request (OpenChallenge(error)): the
challenge's classification fetched the UFAC controller before this screen
opened, so its enter sends nothing. It has no back and is no step of a
trail.
Its actions:
submitCaptcha(captcha) lower-cases the typed characters and posts them to
the step's bot_captcha.submit action unchanged, then continues into the
step the answer is — another UFAC screen or the challenge's end.
changeImage() asks the server for another image (refresh_ufac_state);
the answer is the same step with a fresh payload — a new image and new
params — so it continues into a new handle of this screen that replaces
the current one. Handles are snapshots: the old handle keeps the image and
params it showed.
Both run only while this screen is on top; the interrupted action is never
retried.
Ships with screens.challenge.text-captcha.jpeg, the screen as the old class
was observed on a test account.
Unverified by recording. No recording of the Android 451 app on this step
exists, and the challenge module has no sample of this captcha kind — its test
builds the payload synthetically. A recording of the Android app on the UFAC
image captcha would settle the page, the characters and the refresh.
"Help us confirm it's you — Enter the code below": the UFAC image captcha, whose characters the person reads from a captcha image and types. The screen keeps the step's
serverParams(the challenge id and the persisted data the submit and the refresh both carry, derived from the controller payload once), the UFAC state accumulated so far, and theimageUrlthe payload embeds — what the person reads the characters from.Reached only as an interruption of a request (
OpenChallenge(error)): the challenge's classification fetched the UFAC controller before this screen opened, so itsentersends nothing. It has nobackand is no step of a trail.Its actions:
submitCaptcha(captcha)lower-cases the typed characters and posts them to the step'sbot_captcha.submitaction unchanged, then continues into the step the answer is — another UFAC screen or the challenge's end.changeImage()asks the server for another image (refresh_ufac_state); the answer is the same step with a fresh payload — a new image and new params — so it continues into a new handle of this screen that replaces the current one. Handles are snapshots: the old handle keeps the image and params it showed.Both run only while this screen is on top; the interrupted action is never retried.
Ships with
screens.challenge.text-captcha.jpeg, the screen as the old class was observed on a test account.Unverified by recording. No recording of the Android 451 app on this step exists, and the challenge module has no sample of this captcha kind — its test builds the payload synthetically. A recording of the Android app on the UFAC image captcha would settle the page, the characters and the refresh.