Commit Graph

1651 Commits

Author SHA1 Message Date
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
Riley Testut
d7384cfae9 [AltStoreCore] Generates Source.identifier from sourceURL 2024-12-26 21:15:29 +05:30
Riley Testut
e33a40ecb1 [AltStoreCore] Fixes ALTAppPrivacyPermission.synthesizedName for legacy permissions 2024-12-26 21:15:29 +05:30
Riley Testut
21b2a869a1 [Shared] Includes CodingPath in Source errors’ debug description (if available) 2024-12-26 21:15:29 +05:30
Riley Testut
34c503da4b 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
cd42cc827f [AltStoreCore] Fixes DatabaseManager.startForPreview() deadlock 2024-12-26 21:15:29 +05:30
Riley Testut
83d8d2e38a Fixes “Add/Remove Source” button title not updating after removing source 2024-12-26 21:15:29 +05:30
Riley Testut
c3820136a6 Fixes incorrect Sources tab background color in dark mode 2024-12-26 21:15:29 +05:30
Riley Testut
89347ffffa Fixes misplaced back button 2024-12-26 21:15:29 +05:30
Riley Testut
98125e93aa Adds AddSourceViewController to add sources by URL or from list of recommended sources 2024-12-26 21:15:29 +05:30
Riley Testut
2aebaf80e0 Updates Browse tab icon 2024-12-26 21:15:29 +05:30
Riley Testut
1d19a31a86 Fixes “Unable to satisfy constraints” warnings for SourcesViewController 2024-12-26 21:15:29 +05:30
Riley Testut
ac8f82c30a Updates incorrect Main.storyboard frames 2024-12-26 21:15:29 +05:30
Riley Testut
b03b7bfe68 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
f9911d285d Uses uniform height for SourceDetailContentViewController News items (iOS 17+) 2024-12-26 21:15:29 +05:30
Riley Testut
20cf2326c6 Adjusts illegible Source tint colors for SourceDetailViewController 2024-12-26 21:15:29 +05:30
Riley Testut
bff9eef2dd 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
Riley Testut
45df1c10cb Adds UIColor.adjustedForDisplay() to display illegible tint colors
Adjusts illegible tint colors so that they can be displayed in the UI, e.g. by making them brighter or darker.
2024-12-26 21:15:29 +05:30
Riley Testut
61b2a9bb82 Adds PillButton.style to switch between pill and custom styles
`pill` style enforces minimum size + content insets, while `custom` doesn’t.
2024-12-26 21:15:29 +05:30
Riley Testut
df43561494 Adds AppIconImageView.style to switch between icon and circular styles
`icon` approximates the rounded corners of an app icon, while `circular` makes the icon a circle.
2024-12-26 21:15:29 +05:30
Riley Testut
4551451b57 Posts Notification when Source is added or removed 2024-12-26 21:15:29 +05:30