Commit graph

78 commits

Author SHA1 Message Date
Brandon Evans
58cddb88f6
Try to improve auth error messages 2021-01-25 19:36:49 -07:00
Brandon Evans
cb507c3d02
Prepare user for helper installation before post-install steps 2021-01-23 20:25:28 -07:00
Brandon Evans
044f066422
Extract HelperInstallState to new file 2021-01-23 19:38:11 -07:00
Brandon Evans
d84173e29c
Prepare user for helper installation
Doesn't yet handle the post-install steps that need the helper.
2021-01-23 19:38:11 -07:00
Brandon Evans
408d05a4a7
Merge pull request #80 from RobotsAndPencils/handle-helper-install-errors
Handle helper installation errors
2021-01-23 15:00:57 -07:00
Brandon Evans
91293557ec
Catch and reword xip "not enough free space" error 2021-01-23 13:28:43 -07:00
Brandon Evans
6b5c288a40
Unwrap auth error messages to avoid "Optional(...)" 2021-01-22 22:19:31 -07:00
Brandon Evans
e21e4d9cdf
Handle helper installation errors 2021-01-22 22:18:59 -07:00
Matt Kiazyk
aa49f36b03
don't show brackets when buildMetadataIdentifiers is empty 2021-01-20 21:13:53 -06:00
Brandon Evans
e467f26adc
Add more logging to HelperClient 2021-01-17 12:37:40 -07:00
Brandon Evans
3d5edb3968
Replace NSError() with specific error 2021-01-17 12:29:28 -07:00
Brandon Evans
55e0447e54
Invalidate XPC connection after installing 2021-01-17 11:57:45 -07:00
Brandon Evans
a504504825
Always show build identifiers in list and info pane 2021-01-16 13:30:52 -07:00
Brandon Evans
4301667000
Replace print/dump/NSLog with os.log Logger 2021-01-16 13:14:27 -07:00
Brandon Evans
cd2bde2272
Move Xcode path into XcodeInstallState.installed case 2021-01-16 13:09:48 -07:00
Brandon Evans
bc27f1785b
Filter out prerelease versions that have the same build identifier as a release build 2021-01-16 11:40:27 -07:00
Brandon Evans
62237bf4a8
Fix a bug when an installed version was appended
We were appending a version without appending a corresponding AvailableXcode, and these two arrays were being zipped later so they wouldn't line up. This change simplifies this method a bit by working on only a single array, and then also moves that appending to the end after the array of Xcodes is created.
2021-01-16 11:40:04 -07:00
Brandon Evans
26da7969a1
Make sure install updates happen on main queue 2021-01-16 10:15:39 -07:00
Brandon Evans
ed023218b8
Simplify Version comparison 2021-01-16 10:15:39 -07:00
Brandon Evans
faad4c2ab7
Fix bug where adjusted versions weren't used to look up AvailableXcodes 2021-01-16 10:15:39 -07:00
Brandon Evans
baa8491786
If build metadata identifiers match, treat it as a match regardless of other version components 2021-01-16 10:15:39 -07:00
Brandon Evans
ad02e89449
Add failing test to cover removing an uninstalled version, fix it
https://github.com/RobotsAndPencils/XcodesApp/pull/44#issuecomment-756783640
2021-01-16 10:15:32 -07:00
Brandon Evans
0295bc8b1b
Stop aria2c if Xcodes stops
I removed this because I thought it wasn't necessary for some reason. We do send a SIGTERM if the user cancels the installation (via subscription cancellation), but if the whole app quits aria2c would keep running in the background.
2021-01-12 20:51:22 -07:00
Brandon Evans
93f819f2f3
Add downloaders to SettingsView 2021-01-08 17:22:38 -07:00
Brandon Evans
23cd43011b
Bundle aria2c 1.35.0 executable and source 2021-01-08 17:22:38 -07:00
Brandon Evans
fecb40893f
Don't replace existing install state when updating 2021-01-07 21:25:08 -07:00
Brandon Evans
4a33d010a8
Confirm before cancelling installation 2021-01-07 21:25:08 -07:00
Brandon Evans
1a830dc9dc
Add cancel install button to context menu and info pane 2021-01-07 21:25:08 -07:00
Brandon Evans
482b32e4e0
Add isTesting to make NSTestCase check more clear 2021-01-07 21:25:07 -07:00
Brandon Evans
89143b8751
Dispatch Process.run work manually instead of using subscribe(on:) and receive(on:)
The previous implementation was doing something weird when it was used during installation in:

verifySecurityAssessment(of: installedXcode)
    .combineLatest(self.verifySigningCertificate(of: installedXcode.path.url))

It looks like it would subscribe after the Process.run future had already sent a value, and so it would never finish. This seems weird, and I'm assuming that I'm misunderstanding something about this behaviour, but dispatching manually seems reasonable and works.
2021-01-07 21:25:07 -07:00
Brandon Evans
bfb3fd9ea5
Add install functionality
I'm omitting aria2 support for now.
2021-01-07 21:25:07 -07:00
Brandon Evans
a3e9101397
Replace .alert with .emittingError 2021-01-04 16:23:35 -07:00
Brandon Evans
813489b5fa
Add Environment+Mock 2021-01-03 10:18:48 -07:00
Brandon Evans
b1e6cffd09
Use helper from Current 2021-01-03 10:18:08 -07:00
Brandon Evans
f3680da2ae
Add InstallationStepView 2021-01-01 15:36:20 -07:00
Brandon Evans
ba1c4fec0f
Merge pull request #38 from RobotsAndPencils/remove-promisekit
Remove PromiseKit
2021-01-01 15:03:34 -07:00
Brandon Evans
245780023b
Convert Current.shell to Combine 2021-01-01 15:02:21 -07:00
Brandon Evans
f00ae396a6
Remove Current.shell sudo functionality
This'll be done in the helper
2021-01-01 15:02:20 -07:00
Brandon Evans
9971e0b45d
Remove Promise retry functions
We'll need to reimplement these later when implementing installation
2021-01-01 15:02:20 -07:00
Brandon Evans
fa277ccaae
Convert URLSession.downloadTask to Combine 2021-01-01 15:02:20 -07:00
Matt Kiazyk
7d1e22e668
Remove some unused code 2021-01-01 13:01:07 -06:00
Brandon Evans
95ca2bc1c3
Remove PromiseKit and PMKFoundation 2021-01-01 10:29:27 -07:00
Matt Kiazyk
72bdadb796
PR Cleanup 2020-12-31 16:06:03 -06:00
Matt Kiazyk
7bfb94d75a
Uninstall a xcode version 2020-12-31 12:36:31 -06:00
Brandon Evans
15132bdfaa
Psych, switch "default" to "active", add justification 2020-12-30 22:06:39 -07:00
Matt Kiazyk
1cd96cc9fc
Merge branch 'main' into enhancement/31-helpModifier 2020-12-30 15:07:08 -06:00
Matt Kiazyk
8df4bb59e0
Update some text to better suit HIG
Co-authored-by: Brandon Evans <brandon.evans@robotsandpencils.com>
2020-12-30 15:00:18 -06:00
Brandon Evans
b32687484d
Move Xcode selection state into window 2020-12-29 13:48:17 -07:00
Brandon Evans
047288384d
Reflect currently-selected Xcode in list 2020-12-28 19:58:36 -07:00
Matt Kiazyk
fdb74ee8d9
Adds the .help modifier to a variety of buttons 2020-12-28 16:27:35 -06:00