Matt Kiazyk
b06be4e3fa
Download stats for Aria2
2021-02-13 21:23:22 -06:00
Matt Kiazyk
2329098601
Merge pull request #104 from RobotsAndPencils/matt/FractionDownloadHelp
...
Moves the .help for the ProgressIndicator so it refreshes with the fraction change
2021-02-10 10:24:50 -06:00
Matt Kiazyk
80c02295be
fix typo
...
Co-authored-by: Sam Lu <sam.lu@robotsandpencils.com>
2021-02-10 08:12:56 -06:00
Brandon Evans
519df4e63c
Merge pull request #103 from RobotsAndPencils/fix-split-view
...
Remove info pane from split view instead of hiding it
2021-02-08 08:16:58 -07:00
Brandon Evans
9eda0984ac
Merge pull request #100 from RobotsAndPencils/identical-builds
...
Improve how identical builds are represented in the UI
2021-02-08 08:16:32 -07:00
Matt Kiazyk
f636651ba4
Moves the .help for the ProgressIndicator so it refreshes with the fraction change
2021-02-07 14:33:48 -06:00
Brandon Evans
1dd6232891
Remove InfoPane from split view instead of hiding it
...
When it was hidden the split view would still allow you to resize the remaining split, which resulted in weird behaviour. Instead, just remove the info pane split and the split view doesn't let you resize. Had to move where this global alert lives as a result because it might have to be presented even if the info pane isn't visible.
I tried changing the alert so it wasn't on the main window, and was instead local to the buttons that triggered its presentation, and this worked for all but the case where the CancelInstallButton was used from the Xcode menu. So for now I left it close to where it already was.
2021-02-06 18:28:05 -07:00
Brandon Evans
3208a4d8d2
Put InfoPane content in ScrollView
...
This issue was revealed when I broke the identical builds functionality with the Apple data source. https://github.com/RobotsAndPencils/XcodesApp/pull/100#pullrequestreview-584917125
2021-02-06 15:29:33 -07:00
Brandon Evans
b8bae4f32c
Don't consider versions without build identifiers for identical builds
2021-02-06 14:56:28 -07:00
Brandon Evans
ef646b7b88
Add identical builds indicator to XcodeListViewRow
2021-02-06 14:43:35 -07:00
Brandon Evans
70872f441a
Make XcodeListViewRow.appState a normal property
...
It doesn't need to be a DynamicProperty because it only invokes its methods.
2021-02-06 14:43:35 -07:00
Brandon Evans
70ca8c37bf
Add identical builds to the info pane
2021-02-06 14:43:35 -07:00
Matt Kiazyk
1c6efbbbb1
default to aria2
2021-02-06 14:31:46 -06:00
Matt Kiazyk
c6e3382d94
When downloading, use the downloader from userdefaults
2021-02-05 08:32:23 -06:00
Brandon Evans
760c9f300e
Handle duplicate 3.2.3 release builds
...
:/
2021-02-04 21:25:01 -07:00
Brandon Evans
dcd4001548
Merge identical builds into the release version instead of filtering
2021-02-04 21:25:00 -07:00
Brandon Evans
bc45daeb74
Only adjust available versions for Apple data source
2021-02-04 21:25:00 -07:00
Brandon Evans
7ac4814420
Treat GM versions as release versions
2021-02-04 21:25:00 -07:00
Brandon Evans
57767f6920
Fix RC capitalization
2021-02-04 21:25:00 -07:00
Matt Kiazyk
75cbd9550b
Adjust ByteCountFormatter. PR Feedback
2021-02-03 21:55:47 -06:00
Matt Kiazyk
b53c480764
Adds a DownloadFileSize when using Apple Data Source
2021-02-01 21:18:49 -06:00
Matt Kiazyk
385f740c42
Reset spm cache to correctly create license file
2021-01-28 17:20:23 -07:00
Matt Kiazyk
e6ee43a169
Preferences UI adjustments
2021-01-28 17:20:22 -07:00
Matt Kiazyk
a740b3be08
Remove Preferences dependency. Adjust Settings UI with groups
2021-01-27 21:38:22 -06:00
Matt Kiazyk
202212f417
Updates PreferencesView To use built in Settings Scene
2021-01-26 22:45:43 -06:00
Brandon Evans
bb28386306
Increment build number
2021-01-26 08:54:44 -07:00
Brandon Evans
352816f64a
Merge pull request #87 from RobotsAndPencils/auth-pref-ui-change
...
Show stored username in General preference pane even when we don't have a valid session
2021-01-26 08:50:18 -07:00
Brandon Evans
75457dd9eb
Show stored username in General preference pane
...
This reverts the change from 90c067997b so that the username is shown in situations where we don't have a valid session but could almost certainly get one. Instead, to achieve what that commit was trying to do, we'll instead remove the username from UserDefaults if auth fails with an invalid username or password error. I think this will more closely match what users expect in this UI.
I've added a comment in the UI explaining why it is the way it is. It might also be worth considering renaming AuthenticationState or its cases to better reflect that it's probably more about the (short-lived) session state than whether the user has signed in before and has stored their credentials.
2021-01-25 19:56:28 -07:00
Brandon Evans
58cddb88f6
Try to improve auth error messages
2021-01-25 19:36:49 -07:00
Brandon Evans
a04bfb39d0
Treat 400 from security code submission to be incorrect code
2021-01-25 19:23:51 -07:00
Brandon Evans
9508cda585
Remove invalid phone number index error
...
Not relevant for Xcodes.app.
2021-01-25 19:23:50 -07:00
Brandon Evans
6b5a64010e
Add bug report and feature request options to Help menu
...
This will support error messages that instruct the user to go to the Help menu for these things.
2021-01-25 19:23:50 -07:00
Brandon Evans
9a2057bcd5
Merge pull request #84 from RobotsAndPencils/prepare-user-for-helper-installation
...
Prepare user for helper installation before attempting to install
2021-01-25 18:33:48 -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
Matt Kiazyk
f970649bad
Merge pull request #81 from RobotsAndPencils/matt/progressToolTip
...
Show ToolTip on progress indicator
2021-01-23 17:29:27 -06:00
Matt Kiazyk
7fad56b3f7
Put tooltip on installationStepView
2021-01-23 17:13:07 -06: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
6d2fce2078
Merge pull request #79 from RobotsAndPencils/not-enough-free-space-error
...
Catch and reword xip "not enough free space" error
2021-01-23 15:00:43 -07:00
Matt Kiazyk
102f3bbb58
Add comments about why we're using appStorage instead of sceneStorage
...
Co-authored-by: Brandon Evans <brandon.evans@robotsandpencils.com>
2021-01-23 15:45:52 -06:00
Matt Kiazyk
f9fe902007
Show ToolTip on progress indicator
2021-01-23 15:41:49 -06:00
Brandon Evans
91293557ec
Catch and reword xip "not enough free space" error
2021-01-23 13:28:43 -07:00
Matt Kiazyk
8334e38a0a
#71 Update Filter/Info to use AppStorage
2021-01-23 14:22:23 -06: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
Brandon Evans
d834f3ed74
Merge pull request #73 from RobotsAndPencils/matt/fixbuildMetadataIdentifiers
...
Don't show brackets when buildMetadataIdentifiers is empty
2021-01-21 08:18:48 -07:00
Matt Kiazyk
7d57124a5f
Updates the App Update copy to be more relevant about app vs xcode
2021-01-20 21:19:44 -06:00
Matt Kiazyk
aa49f36b03
don't show brackets when buildMetadataIdentifiers is empty
2021-01-20 21:13:53 -06:00
Brandon Evans
1ba03fca7f
Increment build number
...
Signed-off-by: Brandon Evans <brandon@brandonevans.ca>
2021-01-20 08:50:55 -07:00
Brandon Evans
99b10e08aa
Merge pull request #62 from RobotsAndPencils/sparkle
...
Add Sparkle
2021-01-20 08:45:49 -07:00
Brandon Evans
b0f09ace04
Add trailing padding to preference panes
2021-01-20 08:45:18 -07:00
Brandon Evans
f1ecf1ad3d
Increment build number
2021-01-19 22:22:24 -07:00
Brandon Evans
a0c35ff945
Bump version to 1.0.1
2021-01-19 22:19:40 -07:00
Brandon Evans
29aa1e3b0e
Add Sparkle public key to Info.plist
2021-01-19 21:46:02 -07:00
Brandon Evans
b39d6d58da
Add Toggle for prerelease appcast
2021-01-19 21:46:02 -07:00
Brandon Evans
f3a3961e0e
Split up preferences, add Updates pane
2021-01-19 21:46:02 -07:00
Brandon Evans
b3dbb1af45
Initialize SUUpdater and add check for updates menu item
2021-01-19 21:46:02 -07:00
Brandon Evans
23df4a8c3a
Merge pull request #59 from RobotsAndPencils/xpc-connection-bug
...
Fold HelperInstaller into HelperClient, improve error handling and logging
2021-01-19 20:26:23 -07:00
Brandon Evans
8a0fa1da2e
Use git tags to track build numbers
2021-01-18 19:44:16 -07:00
Chad Sykes
cec8fd884a
Add a script to incrementing the project build number in a yyyymmddnnn format where the nnn is an auto incrementing number (i.e. 20210103001)
2021-01-18 18:52:02 -07: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
683b2e45fb
Merge pull request #52 from RobotsAndPencils/kill-aria-if-xcodes-quits
...
Stop aria2c if Xcodes stops
2021-01-16 10:12:58 -07:00
Sam Lu
47a6bf01be
Add app icon
2021-01-14 11:04:46 -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
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