Commit Graph

336 Commits

Author SHA1 Message Date
Riley Testut
495cddf2e4 Supports blocking third-party sources
Blocked sources cannot be added by new users, or updated for existing users.
2024-12-26 21:15:29 +05:30
Riley Testut
9fcea41e14 Moves SourceError to its own source file 2024-12-26 21:15:29 +05:30
Riley Testut
8b68a41caf Verifies downloaded app’s permissions match source
Renames source JSON permissions key to “appPermissions” in order to preserve backwards compatibility, since we’ve changed the schema for permissions.
2024-12-26 21:15:29 +05:30
Riley Testut
3f6cecf3ec Moves VerificationError to its own source file 2024-12-26 21:15:29 +05:30
Riley Testut
1cd4b03d0f [AltStoreCore] Flattens optional values when @Managed/@AsyncManaged.wrappedValue is also optional 2024-12-26 21:15:29 +05:30
Riley Testut
5379501639 [Shared] Adds @UserInfoValue property wrapper for ALTLocalizedErrors
ALTLocalizedErrors now automatically include all properties annotated with @UserInfoValue in userInfo when bridged to NSError.
2024-12-26 21:15:29 +05:30
Riley Testut
a567c63582 Updates app version to 2.0b1 🎉 2024-12-26 21:15:29 +05:30
Riley Testut
e3a7207acc Fixes internal location of OperatingSystemVersion+Comparable in Xcode project 2024-12-26 21:15:29 +05:30
Riley Testut
a6ef07450d [AltStoreCore] Migrates Core Data model from v11 to v12 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
f3493e0a9e [AltStoreCore] Adds @AsyncManaged property wrapper
Same as @Managed, except it supports using Swift Concurrency to fetch values from its managedObject’s managedObjectContext.
2024-12-26 21:15:29 +05:30
Riley Testut
fc4a8b09a5 [AltStoreCore] Adds NSManagedObjectContext.performAsync() to wrap iOS 15+ async perform()
Allows us to use Swift Concurrency with Core Data pre-iOS 15.
2024-12-26 21:15:29 +05:30
Riley Testut
f892be0019 Fixes UIApplication.setMinimumBackgroundFetchInterval() deprecation warning 2024-12-26 21:15:29 +05:30
Riley Testut
a23753588c Fixes peek & pop deprecation warnings 2024-12-26 21:15:29 +05:30
Riley Testut
9eb1029fb4 [Shared] Updates projects to recommended settings (Xcode 14.1) 2024-12-26 21:15:29 +05:30
Riley Testut
9c35c9b1c1 Silences “Double-quoted include in framework header” warnings 2024-12-26 21:15:29 +05:30
Riley Testut
a452376ac5 [Shared] Raises deployment targets to iOS 14.0 and macOS 11.0 2024-12-26 21:15:29 +05:30
Riley Testut
3e6c08f458 [AltTests] Enables Code Coverage 2024-12-26 21:15:29 +05:30
Riley Testut
ce0e5d6c50 Adds AltTests test target 2024-12-26 21:15:29 +05:30
Riley Testut
3d586f2c64 Moves @Managed to AltStoreCore 2024-12-26 21:15:29 +05:30
Riley Testut
2e27447e36 [Shared] Adds OperatingSystemVersion+Comparable to AltServer target 2024-12-26 21:15:29 +05:30
Riley Testut
0aa3b05167 Conforms OperatingSystemVersion to Comparable 2024-12-26 21:15:29 +05:30
Riley Testut
6a830ea345 [Shared] Refactors error handling based on ALTLocalizedError protocol (#1115)
* [Shared] Revises ALTLocalizedError protocol

* Refactors errors to conform to revised ALTLocalizedError protocol

* [Missing Commit] Remaining changes for ALTLocalizedError

* [AltServer] Refactors errors to conform to revised ALTLocalizedError protocol

* [Missing Commit] Declares ALTLocalizedTitleErrorKey + ALTLocalizedDescriptionKey

* Updates Objective-C errors to match revised ALTLocalizedError

* [Missing Commit] Unnecessary ALTLocalizedDescription logic

* [Shared] Refactors NSError.withLocalizedFailure to properly support ALTLocalizedError

* [Shared] Supports adding localized titles to errors via NSError.withLocalizedTitle()

* Revises ErrorResponse logic to support arbitrary errors and user info values

* [Missed Commit] Renames CodableServerError to CodableError

* Merges ConnectionError into OperationError

* [Missed Commit] Doesn’t check ALTWrappedError’s userInfo for localizedDescription

* [Missed] Fixes incorrect errorDomain for ALTErrorEnums

* [Missed] Removes nonexistent ALTWrappedError.h

* Includes source file and line number in OperationError.unknown failureReason

* Adds localizedTitle to AppManager operation errors

* Fixes adding localizedTitle + localizedFailure to ALTWrappedError

* Updates ToastView to use error’s localizedTitle as title

* [Shared] Adds NSError.formattedDetailedDescription(with:)

Returns formatted NSAttributedString containing all user info values intended for displaying to the user.

* [Shared] Updates Error.localizedErrorCode to say “code” instead of “error”

* Conforms ALTLocalizedError to CustomStringConvertible

* Adds “View More Details” option to Error Log context menu to view detailed error description

* [Shared] Fixes NSError.formattedDetailedDescription appearing black in dark mode

* [AltServer] Updates error alert to match revised error logic

Uses error’s localizedTitle as alert title.

* [AltServer] Adds “View More Details” button to error alert to view detailed error info

* [AltServer] Renames InstallError to OperationError and conforms to ALTErrorEnum

* [Shared] Removes CodableError support for Date user info values

Not currently used, and we don’t want to accidentally parse a non-Date as a Date in the meantime.

* [Shared] Includes dynamic UserInfoValueProvider values in NSError.formattedDetailedDescription()

* [Shared] Includes source file + line in NSError.formattedDetailedDescription()

Automatically captures source file + line when throwing ALTErrorEnums.

* [Shared] Captures source file + line for unknown errors

* Removes sourceFunction from OperationError

* Adds localizedTitle to AuthenticationViewController errors

* [Shared] Moves nested ALTWrappedError logic to ALTWrappedError initializer

* [AltServer] Removes now-redundant localized failure from JIT errors

All JIT errors now have a localizedTitle which effectively says the same thing.

* Makes OperationError.Code start at 1000

“Connection errors” subsection starts at 1200.

* [Shared] Updates Error domains to revised [Source].[ErrorType] format

* Updates ALTWrappedError.localizedDescription to prioritize using wrapped NSLocalizedDescription as failure reason

* Makes ALTAppleAPIError codes start at 3000

* [AltServer] Adds relevant localizedFailures to ALTDeviceManager.installApplication() errors

* Revises OperationError failureReasons and recovery suggestions

All failure reasons now read correctly when preceded by a failure reason and “because”.

* Revises ALTServerError error messages
All failure reasons now read correctly when preceded by a failure reason and “because”.

* Most failure reasons now read correctly when preceded by a failure reason and “because”.
* ALTServerErrorUnderlyingError forwards all user info provider calls to underlying error.

* Revises error messages for ALTAppleAPIErrorIncorrectCredentials

* [Missed] Removes NSError+AltStore.swift from AltStore target

* [Shared] Updates AltServerErrorDomain to revised [Source].[ErrorType] format

* [Shared] Removes “code” from Error.localizedErrorCode

* [Shared] Makes ALTServerError codes (appear to) start at 2000

We can’t change the actual error codes without breaking backwards compatibility, so instead we just add 2000 whenever we display ALTServerError codes to the user.

* Moves VerificationError.errorFailure to VerifyAppOperation

* Supports custom failure reason for OperationError.unknown

* [Shared] Changes AltServerErrorDomain to “AltServer.ServerError”

* [Shared] Converts ALTWrappedError to Objective-C class

NSError subclasses must be written in ObjC for Swift.Error <-> NSError bridging to work correctly.

* Fixes decoding CodableError nested user info values
2024-12-26 21:15:29 +05:30
Riley Testut
c2b95a23a2 [AltWidget] Replaces ProgressRing with SwiftUI.Gauge 2024-12-26 21:15:29 +05:30
Riley Testut
503b953c93 Migrates Core Data model from v10 to v11 2024-12-26 21:15:29 +05:30
Riley Testut
200509dc79 Adds AppVersion Core Data entity
Preserves redundant fields on StoreApp in database model for backwards compatibility.
2024-12-26 21:15:29 +05:30
Riley Testut
272f1521aa Adds Error Log screen
Allows users to view a history of all errors that occured when performing app operations.
2024-12-26 21:15:29 +05:30
June
728da8060a attempt to fix long standing bug in bundle ids 2024-12-24 22:37:04 +09:00
June Park
9e6951d5b7 Update Package.resolved
Signed-off-by: June Park <me@pythonplayer123.dev>
2024-12-24 18:08:51 +09:00
June Park
67865937b9 Update Package.resolved
Signed-off-by: June Park <me@pythonplayer123.dev>
2024-12-24 18:04:24 +09:00
June Park
9e681e1cee Update project.pbxproj
Signed-off-by: June Park <me@pythonplayer123.dev>
2024-12-24 18:00:15 +09:00
June
dcdb4ab5e8 update altsign 2024-12-24 17:56:40 +09:00
June
7534676ce3 work harder 2024-12-24 17:56:40 +09:00
June
ea31b39dbd update again 2024-12-24 17:56:40 +09:00
June
dccfe276f5 update altsign again 2024-12-24 17:56:40 +09:00
June
93ba28e939 fixes 2024-12-24 15:15:23 +09:00
June P
b4a6f27249 fix altsign 2024-12-23 01:08:20 +09:00
June P
7b354ed9cb Revert "Update AltSign to newer revision"
This reverts commit 1bb33a735d.
2024-12-23 01:07:24 +09:00
June
1bb33a735d Update AltSign to newer revision 2024-12-23 00:44:26 +09:00
Magesh K
4dd0cf4a91 [dependencies]: updated Package.resolved to use latest commit for altsign 2024-12-12 20:52:09 +05:30
Magesh K
e7bbea602f Added launch arguments for coredata debugging and updated Scheme from AltStore to SideStore (#785) 2024-12-08 07:50:33 -05:00
Magesh K
69721000df -[xcode]: revert enabling debug dylib support for widgets 2024-11-24 19:16:18 +05:30
Joe Mattiello
32e173e4bf Change gitignore, add package.resolve (#748) 2024-11-11 23:10:44 -05:00
Magesh K
a48c3b2987 Widgets-Fix: Ported Widget compatibility for ios 18+ from altstore (#746) 2024-11-11 14:46:33 -05:00
Magesh K
c28af95506 -[diagnostics]: Added diagnostics for RefreshAppOperation failure 2024-11-10 16:31:28 +05:30
Magesh K
51792f2da5 restore changes dropped from altstore by 4989c42 2024-11-10 03:04:24 +05:30
Magesh K
916e507ba0 xcode: Debug dylib is still broken in iOS 18 causing "No Entry Point Found. checked(null)" 2024-11-04 12:53:30 +05:30
ny
ddd27357d8 Fix detection for SparseRestore patch 2024-10-23 06:07:58 -04:00