Skip to content

Report the HTTP status when a GrandSlam response is not a plist - #56

Closed
izaankml wants to merge 1 commit into
rileytestut:notarizedfrom
izaankml:fix/report-http-status-on-non-plist
Closed

izaankml wants to merge 1 commit into
rileytestut:notarizedfrom
izaankml:fix/report-http-status-on-non-plist

Conversation

@izaankml

@izaankml izaankml commented Sep 14, 2026 •

Copy link
Copy Markdown

Problem

Since 38d87aa, sendAuthenticationRequest no longer checks the HTTP status, so an HTML error page from GrandSlam reaches the plist parser. Users see "The data couldn't be read because it isn't in the correct format" (NSCocoaErrorDomain 3840) for the 503 page Apple has returned to Android anisette since Oct 14 (altstoreio/AltStore#1834) and for HTTP 429 rate limiting.

Fix

GrandSlam reports its own errors inside the plist, so the status only matters when the body is not one. Sign-in now parses first and, when that fails on a non-2xx response, throws ALTAppleAPIError.unknown(statusCode:), the same error the 2FA requests use.

Testing

Builds with the AltSign-Static scheme on macOS. An earlier revision of this change was built into AltStore Classic on iOS, and when GrandSlam rate limited sign-in the error log showed the HTTP 429 status instead of the parse error.

Related: #48, altstoreio/AltStore#1776, altstoreio/AltStore#1828

@izaankml
izaankml force-pushed the fix/report-http-status-on-non-plist branch from ee97d65 to 12b361b Compare September 14, 2026 20:45
izaankml added a commit to izaankml/AltStore that referenced this pull request Sep 14, 2026
Points the submodule at izaankml/AltSign classic-build: upstream notarized plus the Xcode 27 linking fix, the HTTP status reporting from rileytestut/AltSign#56, and the developer-services transport change. Build branch only; never carry this commit into a PR.
izaankml added a commit to izaankml/AltStore that referenced this pull request Sep 14, 2026
Points the submodule at izaankml/AltSign classic-build: upstream notarized plus the Xcode 27 linking fix and the HTTP status reporting from rileytestut/AltSign#56. Build branch only; never carry this commit into a PR.
izaankml added a commit to izaankml/AltStore that referenced this pull request Oct 18, 2026
Points the submodule at izaankml/AltSign classic-build: upstream notarized plus the Xcode 27 linking fix and the HTTP status reporting from rileytestut/AltSign#56. Build branch only; never carry this commit into a PR.
GrandSlam reports its own errors inside the plist, so the HTTP status only
matters when the body is not one. Since sign-in moved to sendGSARequest it
no longer checks the status, so an HTML error page (a 503, or a 429 rate
limit) reaches the parser and surfaces as NSCocoaErrorDomain 3840. Parse
first and, when that fails on a non-2xx response, throw
ALTAppleAPIError.unknown(statusCode:).
@izaankml
izaankml force-pushed the fix/report-http-status-on-non-plist branch from 12b361b to 847f195 Compare October 18, 2026 06:29
@izaankml izaankml closed this Oct 18, 2026
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