Commit graph

134 commits

Author SHA1 Message Date
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
90c067997b
Only show Sign Out button when actually authenticated 2021-01-07 21:13:29 -07:00
Brandon Evans
a0e258a937
Move credential auth error somewhere it won't disappear
When signing in, the Sign In button is not always in the view hierarchy, meaning error alerts weren't being shown until the next time the button appeared.
2021-01-07 20:47:31 -07:00
Brandon Evans
a3e9101397
Replace .alert with .emittingError 2021-01-04 16:23:35 -07:00
Brandon Evans
f1cdf65be7
Add ErrorHandling 2021-01-04 16:22:09 -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
Brandon Evans
7b4c4fc14c
Use term "info pane" consistently instead of "inspector pane" 2020-12-30 22:06:39 -07:00
Brandon Evans
f1bb76b029
Disable Select button in info pane but don't change title 2020-12-30 22:06:38 -07:00
Brandon Evans
69d85a9478
Extract XcodeListViewRow 2020-12-30 22:05:38 -07:00
Brandon Evans
69c083ca35
Update AppStoreButtonStyle with secondary state 2020-12-30 22:05:38 -07:00
Brandon Evans
d122014b74
Update install and select state representations in Xcode list 2020-12-30 22:05:38 -07:00
Brandon Evans
ee08684e01
Merge pull request #36 from RobotsAndPencils/bug/acknowledgementDark
Fixes acknowledgment screen in darkmode
2020-12-30 22:04:51 -07:00
Matt Kiazyk
8d1f2b512d
Fixes acknowledgment screen in darkmode 2020-12-30 15:43:33 -06: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
Chad Sykes
94ef499e9c Non-functional fix so it compiles locally 2020-12-29 14:52:34 -07: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
Brandon Evans
8084f057fd
Create MainWindow to split up XcodeListView 2020-12-28 12:42:28 -07:00
Brandon Evans
9dc3d21f2e
Rename launch to open
This is the preferred verb when it's user-facing, according to Apple's style guide.
2020-12-28 12:42:28 -07:00
Brandon Evans
ba0c429766
Add trailing inspector pane 2020-12-28 12:42:28 -07:00
Brandon Evans
09653b7357
Use ProgressButton in MainToolbar
Made a small change to how ProgressButton is constructed to prevent its frame changing when isInProgress changes.
2020-12-28 11:57:45 -07:00
Brandon Evans
4cb60e2929
Extract MainToolbar 2020-12-28 10:41:11 -07:00
Brandon Evans
192a1c6371
Move all toolbar items to status position, use filter button instead of picker 2020-12-28 10:40:44 -07:00
Brandon Evans
44da1efca9
AcknowledgementsGenerator supports *.LICENSE files for code not from SPM 2020-12-28 10:38:59 -07:00
Brandon Evans
dbff012dc8
Use copyright value from Info.plist in about window 2020-12-28 10:38:29 -07:00
Brandon Evans
bc209f6112
Add privileged helper that runs xcode-select 2020-12-28 10:38:27 -07:00
Brandon Evans
1fef255c3d
Add app icon to installed rows 2020-12-28 07:55:12 -07:00
Brandon Evans
4d2600f821
Add Xcode command menu 2020-12-27 23:23:33 -07:00
Brandon Evans
912ac0a28e
Allow launching and copying the path of an installed Xcode 2020-12-27 23:22:57 -07:00
Brandon Evans
adad238b2a
Move uninstalled Xcode property into AppState 2020-12-27 23:22:57 -07:00
Brandon Evans
acd82fa07a
Extract AppState.XcodeVersion to Xcode 2020-12-27 23:22:57 -07:00
Brandon Evans
de54c3d784
Only sign in before refreshing when using Apple data source 2020-12-27 18:33:29 -07:00
Brandon Evans
8594996b87
Add feedback IDs in comments 2020-12-27 18:29:26 -07:00
Brandon Evans
115de2d3a2
Show last updated date in toolbar 2020-12-27 18:29:25 -07:00
Brandon Evans
33b5f96ed2
Merge XcodeList into AppState 2020-12-27 18:29:25 -07:00
Brandon Evans
f06d72f3eb
Split up Models.swift 2020-12-27 18:29:25 -07:00
Brandon Evans
293aef80e3
Add Xcode Releases data source 2020-12-27 18:29:25 -07:00
Brandon Evans
b342baff02
Update when the app launches or becomes active and it's been a day since last update 2020-12-27 18:29:25 -07:00
Brandon Evans
9b26688255
Add refresh menu item and progress view 2020-12-27 18:29:24 -07:00
Brandon Evans
4ef8428151
Convert XcodeList to Combine 2020-12-27 18:29:24 -07:00
Chad Sykes
ee10d2f92b Some variable renaming based on PR feedback 2020-12-27 16:14:10 -07:00
Chad Sykes
6cddffbef3 Convert the common code into a ProgressButton 2020-12-27 16:13:36 -07:00
Chad Sykes
74cb2198f5 Add missing error alerts to the SignIn views (this does not fix the error formatting from AppState for fear of merge issues) 2020-12-27 13:36:28 -07:00
Chad Sykes
c9c31ff6f5 Fix warning about executing updating the UI from outside the main thread 2020-12-27 13:21:07 -07:00
Chad Sykes
fb6dd8fac8 Fix some layout issues to improve readability 2020-12-27 13:10:36 -07:00
Chad Sykes
ff1d2546dc Switch out the action button with an activity spinner when processing a request 2020-12-27 13:10:12 -07:00
Chad Sykes
4e03c59d0a Disable the action button when the AppState isProcessingRequest 2020-12-27 12:22:57 -07:00
Matt Kiazyk
1d9db94efa
Merge pull request #16 from RobotsAndPencils/matt/listCategoryDefault
Saves the list category to userdefaults on top tab
2020-12-27 08:58:48 -06:00
Matt Kiazyk
583eb8b2b8
PR List tab Tweaks 2020-12-27 08:49:28 -06:00
Brandon Evans
047d69197e
Merge pull request #20 from RobotsAndPencils/bug-14/cutOffDigits
Bug #14 - Stop clipping the security code numbers input
2020-12-26 19:34:43 -07:00
Brandon Evans
cb42864d44
Add custom about window with dependency acknowledgments 2020-12-26 16:34:16 -07:00
Chad Sykes
cce80ae012 Simple fix to ensure all characters are shown without clipping... while I could try to figure a more robust solution but it feels like there are bigger fish to fry 2020-12-26 16:02:35 -07:00
Matt Kiazyk
46c5399b36
Saves the list category to userdefaults on top tab 2020-12-23 16:20:03 -06:00
Brandon Evans
bfb56660bf
Sign In instead of Login 2020-12-22 22:11:42 -07:00
Brandon Evans
5149e817da
Store credentials in the keychain
Like xcodes, storing the username in defaults so we know which item to look up in the keychain later. This also fixes the Xcode list update logic to not only validate the session but login with saved credentials if it fails.
2020-12-22 22:06:18 -07:00
Brandon Evans
867ad8ab4b
Add SettingsView 2020-12-22 21:26:25 -07:00
Brandon Evans
155c62de77
Fix bundle IDs 2020-12-22 21:26:05 -07:00
Brandon Evans
34adfb73a2
Reorganize files a bit 2020-12-22 21:01:33 -07:00
Brandon Evans
7e2b484b90
Tidy up AppState.update 2020-12-22 20:53:40 -07:00
Brandon Evans
18a7ea3af2
Move XcodesKit source into Xcodes.app 2020-12-22 20:41:36 -07:00
Brandon Evans
34d6f4feb4
Update code that validates security code response 2020-12-12 10:45:35 -07:00
Brandon Evans
74f68076e0
Add placeholder code that shows versions in UI after signing in 2020-12-12 10:37:08 -07:00
Brandon Evans
c5e0afc2bb
Support link attributes with AttributedText view 2020-12-05 11:03:16 -07:00
Brandon Evans
c3806e2eff
Allow selecting a phone number interactively 2020-12-05 10:21:53 -07:00
Brandon Evans
fb6ed58b3e
Add PinCodeTextField 2020-12-01 20:35:50 -07:00
Brandon Evans
ad267e2b56
2FA seems to work now 2020-11-28 13:02:17 -07:00
Brandon Evans
a081a1392e
Commit some more WIP UI work 2020-11-24 22:15:11 -07:00
Brandon Evans
0e2c69a7d8
Tweak code signing settings so tests can run in CI
I'm copying what was done in Secretive since it already figured this out and is a recent macOS app. https://github.com/maxgoedjen/secretive
2020-11-24 21:41:52 -07:00
Brandon Evans
ddcfb1c7f8
Rename the project and directories 2020-11-24 21:11:25 -07:00