Commit Graph

32 Commits

Author SHA1 Message Date
Magesh K
dce6cdc84a [fetch-sources]: Disabled caching during request 2024-12-26 21:15:29 +05:30
Magesh K
6bcf82bf60 [cleanup]: Added TODOs in the comments 2024-12-26 21:15:29 +05:30
Magesh K
3aa510d30a [cleanup]: removed unused code which was replaced by UI input text field in sources tab 2024-12-26 21:15:29 +05:30
Riley Testut
2602f6f8b5 Fixes missing last Coding Path value for DecodingError.keyNotFound 2024-12-26 21:15:29 +05:30
Riley Testut
3cfa3f46a3 Improves maketplace source error messages 2024-12-26 21:15:29 +05:30
Riley Testut
d3ded82f16 Throws error when adding marketplace source to non-marketplace AltStore (and vice versa) 2024-12-26 21:15:29 +05:30
Riley Testut
4ca4e7c235 Supports JSON5 for sources 2024-12-26 21:15:29 +05:30
Riley Testut
b13d13eac6 Supports remotely disabling workaround for downloading Patreon attachments
In case our workaround for downloading Patreon post attachments breaks, we can remotely disable it and force AltStore to use its fallback instead (taking user to post directly).
2024-12-26 21:15:29 +05:30
Riley Testut
54d9cff53a Verifies StoreApp.isPledged status when updating source 2024-12-26 21:15:29 +05:30
Riley Testut
a790bbf691 Supports both iPhone + iPad screenshots
Prefers showing screenshots for current device, but falls back to all screenshots if there are no relevant ones.
2024-12-26 21:15:29 +05:30
Riley Testut
357103944d [Shared] Includes CodingPath in Source errors’ debug description (if available) 2024-12-26 21:15:29 +05:30
Riley Testut
5f93ee387f Adds AddSourceViewController to add sources by URL or from list of recommended sources 2024-12-26 21:15:29 +05:30
Riley Testut
8929b857cf Removes support for “background mode” permissions 2024-12-26 21:15:29 +05:30
Riley Testut
35e3d09f4c Supports app versions with explicit build versions
AltStore will now consider an update available if either:

* The source’s marketing version doesn’t match installed app’s version
* The source declares a build version AND it doesn’t match the install app’s build version

The installed app matches an app version if both maketing versions match, and the build versions match (if provided by the source).
2024-12-26 21:15:29 +05:30
Riley Testut
7c0f61de81 Updates SourceError.blocked recovery suggestion to list installed/blocked apps
If source is already added, the error message will list all installed apps from the source.

If adding source for first time, the error message will mention exactly which apps have been blocked from the source (if provided).
2024-12-26 21:15:29 +05:30
Riley Testut
495cddf2e4 Supports blocking third-party sources
Blocked sources cannot be added by new users, or updated for existing users.
2024-12-26 21:15:29 +05:30
Riley Testut
9fcea41e14 Moves SourceError to its own source file 2024-12-26 21:15:29 +05:30
Riley Testut
9ae96eda2c Verifies all privacy + background mode permissions have usage descriptions 2024-12-26 21:15:29 +05:30
Riley Testut
05c39cd80c Verifies source’s identifier doesn’t match existing sources when adding 2024-12-26 21:15:29 +05:30
Riley Testut
2532f160bb Verifies source’s identifier doesn’t change after refreshing 2024-12-26 21:15:29 +05:30
Riley Testut
46aaf8d0ce Verifies Sources don’t contain duplicate app versions 2024-12-26 21:15:29 +05:30
Riley Testut
bb560ed8b6 Verifies Sources don’t contain duplicate bundle IDs
AltStore assumes all apps have unique bundle IDs per source. Weird bugs can occur when this is not the case (such as merging multiple store listings into one), so we now verify upfront whether source contains duplicate bundle IDs before saving.
2024-12-26 21:15:29 +05:30
Joseph Mattello
25b7da0677 final classes marked as final
Signed-off-by: Joseph Mattello <mail@joemattiello.com>
2023-01-04 09:52:12 -05:00
Riley Testut
be31f40288 Updates Keychain.patreonCreatorAccessToken via UpdatePatronsOperation 2022-04-14 17:58:06 -07:00
Riley Testut
472de7dd21 [AltStoreCore] Refactors core AltStore logic into AltStoreCore framework
AltStoreCore will contain all shared AltStore code between AltStore and any app extensions. Initially, it includes all AltStore model logic.
2020-09-03 16:39:08 -07:00
Riley Testut
08bcd9b9fd Improves error handling when fetching multiple sources
Fetching sources is no longer all or nothing. Now if a source cannot be fetched, it won’t prevent other sources from being updated.
2020-08-27 16:28:13 -07:00
Riley Testut
e5170a2f4a Adds initial support for 3rd party Sources 2020-03-24 13:27:44 -07:00
Riley Testut
8df834a51a Fetches Patreon creator access token from AltStore source 2019-11-04 13:42:19 -08:00
Riley Testut
b502f8ed6e Adds STAGING flag to conditionally use staging endpoint 2019-11-04 13:38:54 -08:00
Riley Testut
94a22da471 Disables URL caching when fetching Source 2019-09-19 11:27:38 -07:00
Riley Testut
8881ebb0f2 Displays countdown for unreleased apps 2019-09-07 15:37:08 -07:00
Riley Testut
87ced5523e [AltStore] Refactors fetch apps logic to use Source model objects 2019-07-30 17:00:04 -07:00