Commit Graph

1655 Commits

Author SHA1 Message Date
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
Riley Testut
2a0fdaace0 [AltStoreCore] Fixes DatabaseManager.startForPreview() deadlock 2024-12-26 21:15:29 +05:30
Riley Testut
9589baff46 Fixes “Add/Remove Source” button title not updating after removing source 2024-12-26 21:15:29 +05:30
Riley Testut
dee5a89501 Fixes incorrect Sources tab background color in dark mode 2024-12-26 21:15:29 +05:30
Riley Testut
3ee393be56 Fixes misplaced back button 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
8c42d267e2 Updates Browse tab icon 2024-12-26 21:15:29 +05:30
Riley Testut
93b01cd701 Fixes “Unable to satisfy constraints” warnings for SourcesViewController 2024-12-26 21:15:29 +05:30
Riley Testut
95c920fd3a Updates incorrect Main.storyboard frames 2024-12-26 21:15:29 +05:30
Riley Testut
b2258f32cb Refactors SourceViewController into dedicated tab
* Updates UI to use source icons + tint colors
* Adds Edit button + swipe actions
2024-12-26 21:15:29 +05:30
Riley Testut
bb5f73b37d Uses uniform height for SourceDetailContentViewController News items (iOS 17+) 2024-12-26 21:15:29 +05:30
Riley Testut
c07e5f5361 Adjusts illegible Source tint colors for SourceDetailViewController 2024-12-26 21:15:29 +05:30
Riley Testut
2707710483 Adds AppBannerView.style to switch between app and source styles
`app` banners have rounded rect icons and use a lighter version of tint color as background, while `source` banners have circular icons and use the original tint color as background.
2024-12-26 21:15:29 +05:30