Commit Graph

1671 Commits

Author SHA1 Message Date
Riley Testut
9716ee6152 Limits updating sources to app launch and manually via pull-to-refresh 2024-12-26 21:15:29 +05:30
Riley Testut
cf09843538 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
d625b381d9 Fixes accidentally saving CancellationErrors to error log 2024-12-26 21:15:29 +05:30
Riley Testut
05332ca122 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
be31611cb7 Adopts automatic status bar tinting on iOS 17 for App + Source detail screens 2024-12-26 21:15:29 +05:30
Riley Testut
3773a051ab 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
142b9c6810 [AltWidget] Fixes compiling for iOS 16 and earlier
Also fixes unused variable warnings.
2024-12-26 21:15:29 +05:30
Riley Testut
cccbe3a80b Hides “UPDATE” option for Patreon apps with expired pledges 2024-12-26 21:15:29 +05:30
Riley Testut
0ad9ceaa95 Disables actions for Patreon apps with expired pledges instead of hiding them 2024-12-26 21:15:29 +05:30
Riley Testut
8946ab8a65 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
a981201016 Designates Patreon apps with label + displays price (if provided) 2024-12-26 21:15:29 +05:30
Riley Testut
5da80863b9 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
850b6890e2 Fixes AltStore still being refreshing even after pledge expires 2024-12-26 21:15:29 +05:30
Riley Testut
e370034e0b Fixes showing Patreon page when installing non-Patreon apps 2024-12-26 21:15:29 +05:30
Riley Testut
8add1d0f4a 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
ba94886ba9 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
dddb9c5ddb 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
389af4d5e6 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
aa9fda7a97 [AltStoreCore] Renames PatreonAccount.isPatron to isAltStorePatron 2024-12-26 21:15:29 +05:30
Riley Testut
9f7f73f835 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
947b31881f [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
7e232cafbe [AltStoreCore] Adds AppProtocol.storeApp
Simplifies retrieving the associated StoreApp for an app.
2024-12-26 21:15:29 +05:30
Riley Testut
91ea34110b Verifies StoreApp.isPledged status when updating source 2024-12-26 21:15:29 +05:30
Riley Testut
47b69b40aa [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
99a3746e1a [AltStoreCore] Refactors PatreonAPI to reduce duplicate logic 2024-12-26 21:15:29 +05:30
Riley Testut
6ba642335b [AltStoreCore] Updates StoreApp to support Patreon-exclusive apps 2024-12-26 21:15:29 +05:30
Riley Testut
869b2dc92a [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
f692da047a [AltJIT] Updates version to 1.0.1 (2) 2024-12-26 21:15:29 +05:30
Riley Testut
f352aaf9c5 [AltServer] Updates app version to 1.7.1 (81) 2024-12-26 21:15:29 +05:30
Riley Testut
299b5ca04c [AltServer] Supports changing AltJIT timeout via defaults CLI 2024-12-26 21:15:29 +05:30
Riley Testut
d83891d794 [AltJIT] Adds --timeout option to change connection timeout 2024-12-26 21:15:29 +05:30
Riley Testut
1b20f17052 [AltJIT] Extends RSD tunnel + debug server timeouts to 90 seconds 2024-12-26 21:15:29 +05:30
Riley Testut
583de6c0ec Fixes deadlock when getting/setting progress for an app 2024-12-26 21:15:29 +05:30
Riley Testut
140193c040 Updates build version to 17 2024-12-26 21:15:29 +05:30
Riley Testut
50076f6e96 Updates placeholder text for SourcesViewController 2024-12-26 21:15:29 +05:30
Riley Testut
a53d45b1dc 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
65562602af Fixes incorrectly centering screenshot thumbnail when there’s only one visible initially 2024-12-26 21:15:29 +05:30
Riley Testut
c20ed78cec Updates app version to 2.0b5 (16) 2024-12-26 21:15:29 +05:30
Riley Testut
2fa9dbb859 [AltStoreCore] Migrates Core Data model from v13 to v14 2024-12-26 21:15:29 +05:30
Riley Testut
edf3281eee Shrinks AppCardCollectionViewCell height if there are no screenshots 2024-12-26 21:15:29 +05:30
Riley Testut
b89d086e79 Fixes AppBannerView sticking to safe area when scrolling 2024-12-26 21:15:29 +05:30
Riley Testut
67271c479c Reduces spacing between apps in BrowseViewController 2024-12-26 21:15:29 +05:30
Riley Testut
7977267107 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
a49e16f591 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
57059967c6 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
c15459e313 Supports viewing full screen app screenshots from AppViewController
[Missed] Uses layout config for PreviewAppScreenshots
2024-12-26 21:15:29 +05:30
Riley Testut
86ec59d204 Accurately displays dynamically-sized screenshots in AppViewController 2024-12-26 21:15:29 +05:30
Riley Testut
6fc9ad010d [AltStoreCore] Updates DatabaseManager to support #Preview macro
Synchronously loads database via startForPreview(), and also erases database for DEBUG builds.
2024-12-26 21:15:29 +05:30
Riley Testut
932e66deca [AltStoreCore] Adds AppScreenshot to support dynamically-sized screenshots
Preserves StoreApp.imageURL field in database model for backwards compatibility.
2024-12-26 21:15:29 +05:30
Riley Testut
59a72ad096 [AltTests] Fixes compiler errors 2024-12-26 21:15:29 +05:30