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
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
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
Riley Testut
727ab0b554
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
d53e36633d
[AltStoreCore] Adds Source.isRecommended
...
Also replaces legacy “Trusted Sources” references with “Recommended Sources”
2024-12-26 21:15:29 +05:30
Riley Testut
1ece687e37
Supports exporting OSLogs from ErrorLogViewController
2024-12-26 21:15:29 +05:30
Riley Testut
2ccf01cf9c
Logs misc. events with OSLog
...
* Discovering AltServers
* Clearing app cache
* Updating Friend Zone Patrons
2024-12-26 21:15:29 +05:30
Riley Testut
27ca2f285b
Logs Fugu14-related events with OSLog
2024-12-26 21:15:29 +05:30
Riley Testut
93b6da4855
Logs sideloading-related events with OSLog
2024-12-26 21:15:29 +05:30
Riley Testut
6adf55b4b6
[Apps] Moves source JSON files to separate repo
2024-12-26 21:15:29 +05:30
Riley Testut
bca5c4e9a4
Fixes misplaced Info.plist entries
2024-12-26 21:15:29 +05:30
Riley Testut
5e48e36ce2
Updates ALTDeviceID to iPhone 14 Pro
2024-12-26 21:15:29 +05:30
Riley Testut
d89a15f74b
Conforms RefreshAllAppsWidgetIntent to ForegroundContinuableIntent
2024-12-26 21:15:29 +05:30
Riley Testut
55ccb723e5
Returns nothing from RefreshAllAppsWidgetIntent
2024-12-26 21:15:29 +05:30
Riley Testut
5d5da9e910
Actually fixes interactive widget animation continuing indefinitely
2024-12-26 21:15:29 +05:30
Riley Testut
d657ffc8ca
Fixes interactive widget animation continuing indefinitely if error is thrown
2024-12-26 21:15:29 +05:30
Riley Testut
a1865b6725
Fixes not showing “AltServer Not Found” error when refreshing via widget
2024-12-26 21:15:29 +05:30
Riley Testut
021b49c436
Reloads widget timelines on app launch
2024-12-26 21:15:29 +05:30
Riley Testut
b760418252
Fixes ErrorDetailsViewController not displaying text below fold
2024-12-26 21:15:29 +05:30
Riley Testut
641c716d57
[AltWidget] Supports refreshing apps directly from home screen
2024-12-26 21:15:29 +05:30
Riley Testut
7747994c80
Converts legacy RefreshAllIntent into App Shortcut (iOS 17+)
2024-12-26 21:15:29 +05:30
Riley Testut
9b885085c9
Fixes race condition causing duplicate background refresh notifications (or none)
2024-12-26 21:15:29 +05:30
Riley Testut
e605399633
Fixes not refreshing AltStore last when refreshing via Shortcut
...
Could potentially be an issue if AltStore needs to resign itself, e.g. with AltDaemon.
2024-12-26 21:15:29 +05:30
Riley Testut
f926f596aa
Fixes crash when adding source with the same name as another source
2024-12-26 21:15:29 +05:30
Riley Testut
f19ae2f422
Fixes “non-sendable type 'Notification?' cannot cross actor boundary” warning
2024-12-26 21:15:29 +05:30
Riley Testut
f5b63b52b4
Fixes “Check for Updates” not updating any sources if one source fails
2024-12-26 21:15:29 +05:30
Riley Testut
e03813c19e
Revises store page permissions UI (again)
...
* Switches back “Permissions” and “Privacy” section titles
* Shrinks privacy permissions card title font
* Combines privacy + entitlements back into single “Permissions” section
* Removes “Entitlements” section name
2024-12-26 21:15:29 +05:30
Riley Testut
86ae06e0c8
Adds “Disable Response Caching” debug setting
...
When enabled, AltStore will ignore cached responses for certain requests and will always make a new request to the server. This is useful for development when repeatedly testing changes to remote files.
Limited to UpdateKnownSourcesOperation for now, but will eventually affect fetching sources as well.
2024-12-26 21:15:29 +05:30
Riley Testut
7f9ee81150
Refactors app version comparison logic to always include buildVersion
...
Before, whether or not the source included the buildVersion affected the comparison. If present, the buildVersion was used in comparison, if not, only the version itself was used for comparsion.
This meant it was impossible to update from a version with a buildVersion to the same version without one (e.g. going from betas to final releases). Now we _always_ consider the buildVersion in the comparsion, so an earlier entry in versions array without buildVersion can be considered “newer” even if versions match.
2024-12-26 21:15:29 +05:30