Commit Graph

1675 Commits

Author SHA1 Message Date
Riley Testut
86ea72db9e Supports filtering apps in BrowseViewController by category 2024-12-26 21:15:29 +05:30
Riley Testut
027435edce [AltStoreCore] Adds StoreApp.category + StoreCategory enum 2024-12-26 21:15:29 +05:30
Riley Testut
735fed4993 Allows changing BrowseViewController sort order 2024-12-26 21:15:29 +05:30
Riley Testut
d44e928bc5 Changes BrowseViewController’s search bar placement to inline 2024-12-26 21:15:29 +05:30
Riley Testut
35aee6fa56 Limits updating sources to app launch and manually via pull-to-refresh 2024-12-26 21:15:29 +05:30
Riley Testut
d56800a908 Asks user to review permissions when installing/updating apps
When installing, all entitlements will be shown. When updating, only _added_ entitlements will be shown.
2024-12-26 21:15:29 +05:30
Riley Testut
ec1e1721bb Fixes accidentally saving CancellationErrors to error log 2024-12-26 21:15:29 +05:30
Riley Testut
19207f9cf1 Clears image cache with “Clear Cache…” option in Settings
Also increases image cache size to 512MB.
2024-12-26 21:15:29 +05:30
Riley Testut
d239b7ad22 Adopts automatic status bar tinting on iOS 17 for App + Source detail screens 2024-12-26 21:15:29 +05:30
Riley Testut
3f56e84563 Changes NewsCollectionViewCell image aspect ratio to 3:2
Also updates fonts to use dynamic text styles.
2024-12-26 21:15:29 +05:30
Riley Testut
baf8c40037 [AltWidget] Fixes compiling for iOS 16 and earlier
Also fixes unused variable warnings.
2024-12-26 21:15:29 +05:30
Riley Testut
1e886c79e8 Hides “UPDATE” option for Patreon apps with expired pledges 2024-12-26 21:15:29 +05:30
Riley Testut
e463675439 Disables actions for Patreon apps with expired pledges instead of hiding them 2024-12-26 21:15:29 +05:30
Riley Testut
c194ba0afe Downloads latest _available_ version when updating from AppViewController
Asks user to fall back to latest supported verson if version is not compatible with device’s iOS version.
2024-12-26 21:15:29 +05:30
Riley Testut
f67ce09853 Designates Patreon apps with label + displays price (if provided) 2024-12-26 21:15:29 +05:30
Riley Testut
b5b645503e Supports updating apps from (almost) all AppBannerViews
Previously, you could only update apps from MyAppsViewController and AppViewController.
2024-12-26 21:15:29 +05:30
Riley Testut
60c33bb61e Fixes AltStore still being refreshing even after pledge expires 2024-12-26 21:15:29 +05:30
Riley Testut
2fed241d8f Fixes showing Patreon page when installing non-Patreon apps 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
83b3f46906 Supports downloading apps from locked Patreon posts
Uses cached Patreon session cookies to access post attachments despite no official API support.
2024-12-26 21:15:29 +05:30
Riley Testut
fde9d41aa2 Limits installed Patreon apps that no longer have active pledge
Patreon apps with inactive pledges still support these actions:
* Backed up
* Deactivated
* Export backup
2024-12-26 21:15:29 +05:30
Riley Testut
919b38b37e Switches from StoreApp.isBeta to isPledged to determine whether app is visible
If StoreApp.isHiddenWithoutPledge == false (default), we’ll still show the app.
2024-12-26 21:15:29 +05:30
Riley Testut
9dc15389fd [AltStoreCore] Renames PatreonAccount.isPatron to isAltStorePatron 2024-12-26 21:15:29 +05:30
Riley Testut
f80489adf5 Updates apps’ pledge status upon (de-)authenticating with Patreon
No longer deactivates apps whenever pledge expires.
2024-12-26 21:15:29 +05:30
Riley Testut
9c45d27184 [AltStoreCore] Caches Patreon session cookies from in-app browser
Allows us to download apps from locked Patreon posts.
2024-12-26 21:15:29 +05:30
Riley Testut
97025b3730 [AltStoreCore] Adds AppProtocol.storeApp
Simplifies retrieving the associated StoreApp for an app.
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
54909ca7e7 [AltStoreCore] Adds Pledge, PledgeReward, and PledgeTier
Allows us to cache pledges for current user, which can be used to determine if user has access to Patreon-only apps.
2024-12-26 21:15:29 +05:30
Riley Testut
8f6d8d5450 [AltStoreCore] Refactors PatreonAPI to reduce duplicate logic 2024-12-26 21:15:29 +05:30
Riley Testut
4ba44d8722 [AltStoreCore] Updates StoreApp to support Patreon-exclusive apps 2024-12-26 21:15:29 +05:30
Riley Testut
f96bcb7c71 [AltStoreCore] Generalizes Source.sourceID(from:) logic into URL.normalized()
Allows comparing URLs that may have slight (but irrelevant) differences (e.g. trailing slashes).
2024-12-26 21:15:29 +05:30
Riley Testut
404709d496 [AltJIT] Updates version to 1.0.1 (2) 2024-12-26 21:15:29 +05:30
Riley Testut
b44808e856 [AltServer] Updates app version to 1.7.1 (81) 2024-12-26 21:15:29 +05:30
Riley Testut
99cd0d4995 [AltServer] Supports changing AltJIT timeout via defaults CLI 2024-12-26 21:15:29 +05:30
Riley Testut
e4128d3004 [AltJIT] Adds --timeout option to change connection timeout 2024-12-26 21:15:29 +05:30
Riley Testut
547c887586 [AltJIT] Extends RSD tunnel + debug server timeouts to 90 seconds 2024-12-26 21:15:29 +05:30
Riley Testut
6322104276 Fixes deadlock when getting/setting progress for an app 2024-12-26 21:15:29 +05:30
Riley Testut
85ab7b8b22 Updates build version to 17 2024-12-26 21:15:29 +05:30
Riley Testut
9c8c785a18 Updates placeholder text for SourcesViewController 2024-12-26 21:15:29 +05:30
Riley Testut
f23635b483 Uses constant 5pt corner radius for non-rounded screenshots
Fixes iPad corners appearing too rounded.
2024-12-26 21:15:29 +05:30
Riley Testut
8e98142740 Fixes incorrectly centering screenshot thumbnail when there’s only one visible initially 2024-12-26 21:15:29 +05:30
Riley Testut
a98b53c29a Updates app version to 2.0b5 (16) 2024-12-26 21:15:29 +05:30
Riley Testut
561b59f63c [AltStoreCore] Migrates Core Data model from v13 to v14 2024-12-26 21:15:29 +05:30
Riley Testut
fdb19ef06d Shrinks AppCardCollectionViewCell height if there are no screenshots 2024-12-26 21:15:29 +05:30
Riley Testut
39e593e799 Fixes AppBannerView sticking to safe area when scrolling 2024-12-26 21:15:29 +05:30
Riley Testut
e8936c6fff Reduces spacing between apps in BrowseViewController 2024-12-26 21:15:29 +05:30
Riley Testut
d21c746920 Replaces BrowseCollectionViewCell with AppCardCollectionViewCell
* Handles dynamic screenshot sizes
* Allows swiping through screenshots
* Supports iPhone + iPad screenshots
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
ffa672f6b2 Improves paging screenshots with different aspect ratios
We now page by the smallest screenshot width to ensure we never overshoot an item.
2024-12-26 21:15:29 +05:30
Riley Testut
14bd1716d1 Supports viewing full screen app screenshots from AppViewController
[Missed] Uses layout config for PreviewAppScreenshots
2024-12-26 21:15:29 +05:30