Commit Graph

74 Commits

Author SHA1 Message Date
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
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
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
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
93b01cd701 Fixes “Unable to satisfy constraints” warnings for SourcesViewController 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
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
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
c71fe7c469 Fixes CollapsingTextView “More” button incorrectly appearing if lineCount == maximumNumberOfLines 2024-12-26 21:15:29 +05:30
Riley Testut
f45a4c1067 Fixes AppViewController scrolling performance for apps with several privacy permissions 2024-12-26 21:15:29 +05:30
Riley Testut
1c32487ff7 Fixes PillButton not respecting progressTintColor under certain conditions 2024-12-26 21:15:29 +05:30
Riley Testut
9dfc56d0fd Removes unused NavigationBar.backgroundColorView 2024-12-26 21:15:29 +05:30
Riley Testut
14ad785cd3 Fixes tapping buttons underneath navigation bar on SourceDetailViewController/AppViewController 2024-12-26 21:15:29 +05:30
Riley Testut
ad92cb6c42 Dynamically disables interactive back gesture when viewing source header image
Only disables gesture if touches are within headerContainerView to ensure back gesture works as expected majority of the time.
2024-12-26 21:15:29 +05:30
Riley Testut
a0991f21eb Supports viewing all NewsItems and StoreApps for a source 2024-12-26 21:15:29 +05:30
Riley Testut
9265fd5a5d Shows detailed source “About” page when adding 3rd-party sources
Allows users to preview sources before adding them to their AltStore.
2024-12-26 21:15:29 +05:30
Riley Testut
a3e67a9adb Refactors SourcesViewController from Main.storyboard to new Sources.storyboard
Also refactors BannerCollectionViewCell to AppBannerCollectionViewCell to support initializing from code.
2024-12-26 21:15:29 +05:30
Riley Testut
f89562eab9 Fixes CollapsingTextView “TextKit 1 compatibility mode” runtime warning 2024-12-26 21:15:29 +05:30
Riley Testut
ae11777359 Removes unnecessary #available checks 2024-12-26 21:15:29 +05:30
Riley Testut
36c965959b Fixes UIActivityIndicatorView.style deprecation warnings 2024-12-26 21:15:29 +05:30
Riley Testut
df7e60eb91 Opens Error Log upon tapping ToastView showing logged error 2024-12-26 21:15:29 +05:30
June Park
4989c42d1e merge AltStore 1.6.3, add dynamic anisette lists, merge SideJITServer integration
* Change error from Swift.Error to NSError

* Adds ResultOperation.localizedFailure

* Finish Riley's monster commit

f59b5902ff8c76d4eb0ff806794ffebe635844b5
May the Gods have mercy on my soul.

* Fix format strings I broke

* Include "Enable JIT" errors in Error Log

* Fix minimuxer status checking

* [skip ci] Update the no wifi message to include VPN

* Opens Error Log when tapping ToastView

* Fixes Error Log context menu covering cell content

* Fixes Error Log context menu appearing while scrolling

* Fixes incorrect Search FAQ URL

* Fix Error Log showing UIAlertController on iOS 14+

* Fix Error Log not showing UIAlertController on iOS <=13

* Fix wrong color in AuthenticationViewController

* Fix typo

* Fixes logging non-AltServerErrors as AltServerError.underlyingError

* Limits quitting other AltStore/SideStore processes to database migrations

* Skips logging cancelled errors

* Replaces StoreApp.latestVersion with latestSupportedVersion + latestAvailableVersion

We now store the latest supported version as a relationship on StoreApp, rather than the latest available version. This allows us to reference the latest supported version in predicates and sort descriptors.

However, we kept the underlying Core Data property name the same to avoid extra migration.

* Conforms OperatingSystemVersion to Comparable

* Parses AppVersion.minOSVersion/maxOSVersion from source JSON

* Supports non-NSManagedObjects for @Managed properties

This allows us to use @Managed with properties that may or may not be NSManagedObjects at runtime (e.g. protocols). If they are, Managed will keep strong reference to context like before.

* Supports optional @Managed properties

* Conforms AppVersion to AppProtocol

* Verifies min/max OS version before downloading app + asks user to download older app version if necessary

* Improves error message when file does not exist at AppVersion.downloadURL

* Removes unnecessary StoreApp convenience properties

* Removes unnecessary StoreApp convenience properties as well as fix other issues

* Remove Settings bundle, add SwiftUI view instead

Fix refresh all shortcut intent

* Update AuthenticationOperation.swift

Signed-off-by: June Park <rjp2030@outlook.com>

* Fix build issues given by develop

* Add availability check to fix CI build(?)

* If it's gonna be that way...

---------

Signed-off-by: June Park <rjp2030@outlook.com>
Co-authored-by: nythepegasus <nythepegasus84@gmail.com>
Co-authored-by: Riley Testut <riley@rileytestut.com>
Co-authored-by: ny <me@nythepegas.us>
2024-08-05 21:43:52 -04:00
Riley Testut
f944ae2c79 Enforces 77x31 minimum size for PillButton 2023-07-27 04:47:44 -04:00
Riley Testut
4cd6284779 Fixes CollapsingTextView “TextKit 1 compatibility mode” runtime warning 2023-07-27 04:47:38 -04:00
Joseph Mattello
25b7da0677 final classes marked as final
Signed-off-by: Joseph Mattello <mail@joemattiello.com>
2023-01-04 09:52:12 -05:00
Riley Testut
719f30ebfb Fixes CollapsingTextView incorrectly showing More button 2022-12-30 17:08:49 -05:00
Joseph Mattello
499debd9b1 fix 3 more style .white deprecations to .medium
Signed-off-by: Joseph Mattello <mail@joemattiello.com>
2022-12-17 03:13:30 -05:00
Riley Testut
33b261b0eb Supports adding trusted sources from SourcesViewController
Previously, only the beta version of AltStore could add sources. Now, the public version supports adding explicitly “trusted” sources, while the beta version can continue to add any source.
2022-04-14 16:33:49 -07:00
Riley Testut
7bed68f331 Adds ALTLocalizedError.underlyingError
Allows for easily wrapping underlying errors while preserving localized descriptions.
2021-02-26 15:25:12 -06:00
Riley Testut
472de7dd21 [AltStoreCore] Refactors core AltStore logic into AltStoreCore framework
AltStoreCore will contain all shared AltStore code between AltStore and any app extensions. Initially, it includes all AltStore model logic.
2020-09-03 16:39:08 -07:00
Riley Testut
b33c72959d Merge branch 'accessibility_improvements' into develop
# Conflicts:
#	AltStore/Sources/SourcesViewController.swift
2020-08-28 12:39:05 -07:00
Riley Testut
1b0f6a19f1 Shows source errors in SourcesViewController 2020-08-27 16:39:03 -07:00
Riley Testut
08bcd9b9fd Improves error handling when fetching multiple sources
Fetching sources is no longer all or nothing. Now if a source cannot be fetched, it won’t prevent other sources from being updated.
2020-08-27 16:28:13 -07:00
Riley Testut
a49c48b15b Announces errors when VoiceOver is enabled 2020-08-27 15:24:26 -07:00
Riley Testut
3e600ca2d8 Improves AppBannerView accessibility 2020-08-27 15:23:21 -07:00
Riley Testut
7a9dfdfe5e Improves error messages when there’s an underlying error 2020-06-05 15:32:10 -07:00
Riley Testut
e5170a2f4a Adds initial support for 3rd party Sources 2020-03-24 13:27:44 -07:00
Riley Testut
33a7f11c83 Improves error toast view appearance 2020-03-20 15:31:20 -07:00
Riley Testut
90872dd03e [Both] Improves error messages 2020-03-11 13:51:17 -07:00
Riley Testut
f6e536a805 Improves App ID counting + management
Fetches App ID count directly from Apple, and adds AppIDsViewController to view all App IDs for the logged-in account.
2020-02-10 17:30:11 -08:00
Riley Testut
0c0c1c7a37 Improves 10 App ID limit error handling 2020-01-24 14:14:08 -08:00
Riley Testut
8df834a51a Fetches Patreon creator access token from AltStore source 2019-11-04 13:42:19 -08:00
Riley Testut
10c359a29f Fixes tint colors not dimming when presenting alerts 2019-11-04 12:36:29 -08:00
Riley Testut
1718b46220 Fixes issue where AltStore revokes its own certificate
Uses embedded certificate from AltServer if possible, but then falls back to asking user to refresh AltStore manually if the certificate used to install AltStore is revoked.
2019-10-28 13:16:55 -07:00