Skip to content

Handle current Anisette v3 provisioning states - #6

Open
Xare123 wants to merge 3 commits into
OpenBubbles:masterfrom
Xare123:agent/fix-anisette-v3-provisioning
Open

Handle current Anisette v3 provisioning states#6
Xare123 wants to merge 3 commits into
OpenBubbles:masterfrom
Xare123:agent/fix-anisette-v3-provisioning

Conversation

@Xare123

@Xare123 Xare123 commented Jul 25, 2026

Copy link
Copy Markdown

Summary

Update the remote Anisette v3 client for the current SideStore provisioning protocol.

  • Parse current nonterminal and error result variants, including EndProvisioningError, instead of failing JSON deserialization.
  • Convert server, WebSocket, and transport failures into typed errors instead of panics or silent loops.
  • Retry transient provisioning failures up to three times with bounded backoff while preserving provisioning state.
  • Return clean errors when provisioning or header retrieval cannot complete.
  • Add focused parsing tests for current server states.

Why

The previous result enum accepted only four variants. Current SideStore servers can return states such as Wait, CurrentlyEndingProvisioning, and EndProvisioningError. That produced an unknown variant EndProvisioningError failure during OpenBubbles setup before 2FA.

Validation

  • git diff --check passes.
  • The dependency compiled successfully for Android arm64 in both Alpha profile and debug OpenBubbles builds: Actions run 30135397236.
  • Device verification on a Pixel 10 Pro progressed through the previously failing Anisette exchange to Apple 2FA.

Standalone Rust unit tests were not executed on the Windows host because the MSVC linker was unavailable. The added parsing tests should run in the repository's Rust CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant