You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simplifies the Anisette handling code. Removes some unnecessary fields (including hard-coded Mac serial numbers, cf #348) from our http requests amongst other things.
How was it tested?
Tested on macOS:
Can log in after resetting provisioning
Can run xtool ds teams
Can run xtool ds certificates
AI tool usage
How much of this PR was AI-assisted? (check one)
0 - No AI was used to write code
1 - I was assisted by AI. I reviewed the finished result.
2 - I set the AI going and left it to it; nobody has read the result - no review, or AI review only
Summary by CodeRabbit
Updates
Anisette-backed requests now use device information provided with Anisette data, including an Android 14 device identity.
Developer service requests no longer include client-information and device-ID headers.
The Anisette command now displays fetched details in sorted order and uses the configured Anisette provider instead of prompting for provisioning data.
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.
📝 Walkthrough
The change consolidates device identity in AnisetteData and obtains it through AnisetteDataProvider. GrandSlam and DeveloperServices request construction now use the updated data. The XADI client identity and anisette command output change, and the code removes DeviceInfo fetching and Superconfig.
Changes: Anisette Device Identity
Layer / File(s)
Summary
Device identity model and acquisition Sources/XKit/GrandSlam/Anisette/DeviceInfo.swift, Sources/XKit/GrandSlam/Anisette/DeviceInfo+Fetching.swift, Sources/XKit/GrandSlam/Anisette/AnisetteDataProvider.swift, Sources/XKit/GrandSlam/Anisette/ADIDataProvider.swift, Sources/XKit/GrandSlam/Anisette/XADIProvider.swift
DeviceInfo now contains a device ID and client-info string. AnisetteDataProvider exposes asynchronous deviceInfo(), which ADIDataProvider builds from the local user UUID and client info. The XADI client identity changes to Pixel 7 running Android 14.
Anisette data and GrandSlam requests Sources/XKit/GrandSlam/Anisette/AnisetteData.swift, Sources/XKit/GrandSlam/Anisette/ADIDataProvider.swift, Sources/XKit/GrandSlam/Requests/*, Sources/XKit/GrandSlam/GrandSlamClient.swift, Sources/XKit/GrandSlam/Lookup/GrandSlamLookupManager.swift
AnisetteData includes DeviceInfo in its dictionary. ADIDataProvider uses the identity dictionary for request headers. GrandSlam request methods no longer take a separate DeviceInfo argument; GrandSlam clients use the updated Anisette data.
DeveloperServices and anisette command integrations Sources/XKit/DeveloperServices/DeveloperServicesClient.swift, Sources/XKit/DeveloperServices/OpenAPI/DeveloperServices+OpenAPI.swift, Sources/XToolSupport/DSCommands/DSCommand.swift
DeveloperServices removes explicit client-info and device-ID headers. The anisette command fetches data through its injected provider and prints dictionary entries sorted by key.
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
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.
What does this PR do?
Simplifies the Anisette handling code. Removes some unnecessary fields (including hard-coded Mac serial numbers, cf #348) from our http requests amongst other things.
How was it tested?
Tested on macOS:
xtool ds teamsxtool ds certificatesAI tool usage
How much of this PR was AI-assisted? (check one)
Summary by CodeRabbit