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
6322104276
Fixes deadlock when getting/setting progress for an app
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
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
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
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
Riley Testut
b61b48f0bf
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
3669df9d75
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
f0e35a9b6d
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
16e6aa8e17
Posts Notification when Source is added or removed
2024-12-26 21:15:29 +05:30
Riley Testut
58ad916dc3
Limits relative date strings to “Yesterday” and “Today”
...
Any relative date older than “Yesterday” will be displayed as absolute date instead.
2024-12-26 21:15:29 +05:30
Riley Testut
79c7e994e8
[AltStoreCore] Adds Source.isRecommended
...
Also replaces legacy “Trusted Sources” references with “Recommended Sources”
2024-12-26 21:15:29 +05:30
Riley Testut
7e67ab7b35
Supports exporting OSLogs from ErrorLogViewController
2024-12-26 21:15:29 +05:30
Riley Testut
99df4a1a01
Logs misc. events with OSLog
...
* Discovering AltServers
* Clearing app cache
* Updating Friend Zone Patrons
2024-12-26 21:15:29 +05:30