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
Riley Testut
422cde9706
Accurately displays dynamically-sized screenshots in AppViewController
2024-12-26 21:15:29 +05:30
Riley Testut
82b062e93a
[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
ee7d7343a9
[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
2c05bbc66f
[AltTests] Fixes compiler errors
2024-12-26 21:15:29 +05:30
Riley Testut
faa4c0f17f
[AltStoreCore] Generates Source.identifier from sourceURL
2024-12-26 21:15:29 +05:30
Riley Testut
5a8aab3f07
[AltStoreCore] Fixes ALTAppPrivacyPermission.synthesizedName for legacy permissions
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
00bcdec0dc
Revises appPermissions JSON format
...
• Split into `entitlements` and `privacy` sections
• `entitlements` is an array of entitlement keys
• `privacy` is a dictionary mapping UsageDescription keys to their descriptions
2024-12-26 21:15:29 +05:30