Repository navigation
Offer the remote server when Apple refuses before the password - #249
Merged
Merged
Conversation
Issue #248: Grand Slam refused the SRP init step, which carries no password, on a phone whose local Anisette was READY. The app showed "Email verification failed: ..." verbatim, offered no way to the remote Anisette server (the field hides when local works, and Settings is behind the sign-in), and the log lacked Apple's ec. Moves FindMy.py to parawanderer/FindMy.py#7, which raises GrandSlamRefusedError carrying the step and ec. classifyLoginFailure maps an init refusal to REASON_REFUSED_BEFORE_PASSWORD; a wrong password, refused at complete, stays UNKNOWN. The login screen gives that reason its own sentence with Apple's text appended, and shows the remote-server button for it as it does for APPLE_DECLINED. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the app side of #248. Grand Slam refused the SRP
initstep (no password sent) on a phone with local AnisetteREADY. The screen showedEmail verification failed: …verbatim, no remote-server button appeared, and Apple'secwas not logged.00fd962(Say which SRP step Grand Slam refused, and keep its ec FindMy.py#7) in all four places, so the refusal arrives asGrandSlamRefusedErrorwithstepandec.classifyLoginFailure: aninitrefusal maps to the newREASON_REFUSED_BEFORE_PASSWORD. Acompleterefusal (wrong password) staysREASON_UNKNOWN.AppleLoginActivity: new sentencelogin_failed_refused_before_password(10 locales), with Apple's text andecappended. The remote-server button is shown for this reason as well asAPPLE_DECLINED.test_main.py;ForceRemoteAnisetteAfterDeclineTest.aRefusalBeforeThePasswordOffersTheRemoteServerchecks the button and the exact message.Verified locally: Chaquopy bridge tests (314 passed, 2 new), pyright on
main.py,add_strings.py --check. Not built or run locally: Java compile, JVM suite, emulator suite; CI covers those.The pin is the PR branch commit. If FindMy.py#7 merges with a merge commit,
00fd962stays reachable; if squashed, the pin has to move to the squash commit.🤖 Generated with Claude Code