Commit graph

562 commits

Author SHA1 Message Date
Matt Kiazyk
38b7fe77dd
Allow ability to change the installation directory 2022-07-28 19:51:13 -05:00
Matt Kiazyk
ee9ee59fc4
Merge pull request #267 from RobotsAndPencils/renameOnSelect
add option to rename Xcode to Xcode.app on select.
2022-07-28 18:19:31 -05:00
Matt Kiazyk
b64af2fc44
add option to rename Xcode to Xcode.app on select. 2022-07-24 15:27:34 -05:00
Matt Kiazyk
e34f1a207a
Merge pull request #258 from GetToSet/ethanwong/ventura-settings-crash-fix
Fix macOS Ventura crash on Settings View
2022-07-24 13:40:20 -05:00
Matt Kiazyk
2ecd1398fb
Updates AcknowledgementsGenerator for SPM 5.4 2022-07-24 12:59:09 -05:00
Matt Kiazyk
155b57f202
Merge pull request #257 from swiftty/fix-sms-on-cancel
Fix crash on sign in sheet cancel
2022-07-24 12:36:29 -05:00
Matt Kiazyk
dc1d89dfc9
Merge pull request #264 from gredman/main
Use monospaced digit font for download progress
2022-07-23 15:44:48 -05:00
Marcus Ziadé
60bbe49ea7 Add Finnish localizations 2022-07-18 10:15:31 +03:00
Gareth Redman
45f034565b Use monospaced digit font for download progress 2022-07-15 10:15:48 +12:00
Matt Kiazyk
b93fa01d07
Merge pull request #259 from gelosi/main
Adding Ukrainian Localization
2022-07-12 23:30:03 -05:00
Oleg Shanyuk
8f3f992460
Adding Ukrainian Localization 2022-06-26 13:17:46 +02:00
Ethan Wong
7945f94bf8
Fix crash on macOS Ventura by moving pane .frame(width:) to its parents. 2022-06-25 14:46:28 +08:00
swiftty
a70069ce87 Fix sign in sheet cancel behavior 2022-06-24 12:52:38 +09:00
Daiki Matsudate
575a7269df Add copy release note url menu 2022-06-17 13:57:12 +09:00
Matt Kiazyk
1baf1f8515
Merge pull request #251 from d-date/dateformat
Update Release Date format on InfoPane for better localization
2022-06-15 22:02:57 -05:00
Matt Kiazyk
bbbd0322eb
Merge pull request #249 from tatsuz0u/feature/jpn-translation
Add Japanese Translation
2022-06-15 21:50:40 -05:00
Matt Kiazyk
8831d5f992
Merge pull request #243 from drct/feature/german_translation
German translation added
2022-06-15 21:38:17 -05:00
Daiki Matsudate
564ca96149 Use string interpolation 2022-06-15 19:25:23 +09:00
Dietrich T
c9f7c3b7d1
Data source name changed to Xcode Releases
Co-authored-by: Matt Kiazyk <mattkiazyk@gmail.com>
2022-06-14 08:50:06 +02:00
Matt Kiazyk
d351068684
Fix Minimum version supported alert to show proper message 2022-06-13 19:37:36 -05:00
Dietrich Tegge
b2143744b3 German localization added including XcodeProj 2022-06-13 17:48:00 +02:00
Dietrich Tegge
c7049c908c Merge branch 'main' into feature/german_translation 2022-06-13 17:40:54 +02:00
Tatsuzou Araki
9483a0c785
Merge branch 'main' into feature/jpn-translation 2022-06-12 16:31:22 +09:00
Matt Kiazyk
b3e1b58a0c
Merge pull request #240 from itszero/feature/traditional-chinese-localization
Add Traditional Chinese localization
2022-06-11 22:51:46 -05:00
Matt Kiazyk
b240d0f77b
Merge pull request #248 from duffpod/patch-1
Fixed wrong localization key for Github Repo in AboutView
2022-06-11 22:39:05 -05:00
たつぞう
9a926af7ee Apply suggestions from code review 2022-06-12 12:28:31 +09:00
Tatsuzou Araki
961e4e9d5b
Apply suggestions from code review
Co-authored-by: Daiki Matsudate <d.matsudate@gmail.com>
2022-06-12 12:25:54 +09:00
Tatsuzou Araki
f2a7c155eb
Apply suggestions from code review
Co-authored-by: Daiki Matsudate <d.matsudate@gmail.com>
2022-06-12 10:51:33 +09:00
Tatsuzou Araki
d461721221
Apply suggestions from code review
Co-authored-by: Daiki Matsudate <d.matsudate@gmail.com>
2022-06-12 10:49:44 +09:00
Tatsuzou Araki
71760ca6e3
Apply suggestions from code review
Co-authored-by: Daiki Matsudate <d.matsudate@gmail.com>
2022-06-12 10:45:34 +09:00
Tatsuzou Araki
a1923ea29a
Apply suggestions from code review
Co-authored-by: Daiki Matsudate <d.matsudate@gmail.com>
2022-06-12 10:42:51 +09:00
たつぞう
65f79d9313 Add Japanese Translation (the rest) 2022-06-11 18:46:36 +09:00
たつぞう
8185b1054f Add Japanese Translation (List, Setting, InfoPane) 2022-06-11 15:18:59 +09:00
Paul Semionov
3213b3ef33
Fixed wrong localization key for Github Repo in AboutView 2022-06-09 23:03:03 +03:00
Ege Sucu
25bbe1cb54 added Turkish Language improvements & Localized WWDC Message. 2022-06-09 14:57:12 +03:00
Dietrich Tegge
75a9047492 German translation added 2022-06-08 14:49:15 +02:00
Zero Cho
a9c7e524ad finish up TC localization 2022-06-06 16:04:25 -07:00
Ethan Huang
2f40821244 Delete the extra colon 2022-06-06 14:59:10 -07:00
Ethan Huang
bce40c95ae Add Traditional Chinese localization 2022-06-06 14:59:09 -07:00
Matt Kiazyk
a106835e15
Bump version number 2022-06-04 21:41:54 -05:00
Matt Kiazyk
f3e97f54f5
Updated unxip binary 2022-06-04 21:37:38 -05:00
Matt Kiazyk
9f013ccdf2
Adds a bottom status bar to the window 2022-06-04 21:30:39 -05:00
Gualtiero
4a2dc8b603 added italian localization 2022-06-01 11:33:25 +02:00
Gualtiero
311014323a added Italian localization 2022-06-01 11:28:54 +02:00
Matt Kiazyk
f699ab6c2f
Merge branch 'main' into main 2022-05-26 22:06:15 -05:00
Paul Semionov
e59bf08e54
Update Localizable.strings for Russian language 2022-05-25 20:40:14 +03:00
ryan-son
7ae8f4211d Add Korean Localization 2022-05-22 09:40:50 +09:00
Jinyu Meng
37c8d17716 Fix same typo in other languages. 2022-05-21 21:31:12 +09:00
Jinyu Meng
3a0e06ded2 Chinese-Simplified localization changes. 2022-05-16 01:40:08 +09:00
Jinyu Meng
2abae033ea Fix a small problem in English strings. 2022-05-16 01:39:08 +09:00
Jinyu Meng
4204b42044 Adding Chinese-Simplified localizations.
Chinese-Simplified localization changes.

Chinese-Simplified localization changes.

Removed all spaces between Chinese and English. Because the OS will add these spaces automatically.

Chinese-Simplified localization changes.
2022-05-16 01:39:08 +09:00
Ege Sucu
a4349ee540 added turkish language as an option 2022-05-13 19:26:56 +03:00
Matt Kiazyk
8b9a21ec74
Bump version 1.5
Signed-off-by: Matt Kiazyk <mattkiazyk@gmail.com>
2022-05-12 13:34:08 -05:00
Matt Kiazyk
7440f5715d
Merge pull request #218 from RobotsAndPencils/SparkUpdate
Update Sparkle to 2.1
2022-05-12 13:08:37 -05:00
Gurpreet Kaur
0b03ee98ef Updated Hindi localizable.strings file
Added $ to retain positional specifier in Hindi localizable.strings file
2022-05-10 11:29:14 -07:00
Gurpreet Kaur
050cf98660 Updated Hindi Localizable.strings file
Updated installation steps translation to retain positional specifier
2022-05-10 10:24:26 -07:00
Matt Kiazyk
becc545efd
Update Sparkle to 2.1 2022-05-09 21:57:48 -05:00
Matt Kiazyk
dd99b9c611
Merge from main 2022-05-09 21:00:21 -05:00
Matt Kiazyk
755c2656fd
Merge branch 'main' into Feature/Hindi_localizableFile 2022-05-09 20:59:39 -05:00
Matt Kiazyk
8ed69a97a1
Update InstallationStepDescription using positional specifiers 2022-05-09 20:59:21 -05:00
Gurpreet Kaur
37c67b7c16 Merge branch 'main' into Feature/Hindi_localizableFile 2022-04-25 10:00:22 -07:00
Gurpreet Kaur
048aac2a8b Updated Localizable.strings
Updated Localizable(Hindi) file
2022-04-25 09:50:24 -07:00
Gurpreet Kaur
e3555f9868 Added Localisable (Hindi) file
Added Localisable (Hindi) file to support multiple languages
2022-04-24 22:47:34 -07:00
Matt Kiazyk
23521d2180
Merge branch 'main' into feature/dom/FrenchLocalization 2022-04-23 20:02:06 -05:00
Matt Kiazyk
dbdc7cf76d
Add OK to spanish 2022-04-23 19:59:42 -05:00
Matt Kiazyk
11f7cae14f
Add "OK" to localizable strings 2022-04-23 19:59:42 -05:00
Matt Kiazyk
8786b403cb
Fixes that were on the english translation, moved over 2022-04-23 19:59:42 -05:00
César Trujillo
857c232fb0
Leaving a word in english due to an attributed text to a URL 2022-04-23 19:59:42 -05:00
César Trujillo
74f54c8128
Spanish Localization
- Localizable ES file added.
- Localizing all strings.
2022-04-23 19:59:42 -05:00
Dominic Pepin
5d680633e0 No need to fr-ca localization file. fr will be used if not present. 2022-04-23 08:35:04 -06:00
Dominic Pepin
4af1fca7c7 Fix issue where French/Longer strings were getting truncated 2022-04-23 08:03:36 -06:00
Dominic Pepin
fad96f497d Fix issue where strings were not getting called in French 2022-04-23 07:56:14 -06:00
Dominic Pepin
d1bee98abb Initial French Localization Strings File 2022-04-23 07:55:46 -06:00
Matt Kiazyk
0821834fed
Add "OK" to localizable strings 2022-04-22 09:30:18 -05:00
Alex Maslov
795de95d53 update DataSourceDescription to refer to first xcode releas instance in english 2022-04-22 08:24:29 -04:00
Alex Maslov
d01013d8b8 reinstate macOS 12 code 2022-04-21 15:17:41 -04:00
Alex Maslov
dc85ab87f7 apply formatter fixes from main 2022-04-21 15:09:42 -04:00
Alex Maslov
0ab62517dd Merge remote-tracking branch 'origin/main' into alex/feature/localization-rus 2022-04-21 15:06:32 -04:00
Alex Maslov
7a82620a8d fix auto-translate errors 2022-04-21 15:06:03 -04:00
Matt Kiazyk
764a242096
Fixes some localization formatting from string to ints 2022-04-21 09:49:39 -05:00
Alex Maslov
77ab5b9f59 add rus 2022-04-21 10:39:45 -04:00
Matt Kiazyk
aad0f54ed3
Merge pull request #203 from RobotsAndPencils/localization
Support Localization
2022-04-19 08:31:41 -05:00
Matt Kiazyk
1d22be649a
convert strings to support Localization 2022-04-17 21:29:51 -05:00
Matt Kiazyk
abf8dbf7b2
Fix: Load create SymLink preference on start 2022-04-15 08:29:41 -05:00
Matt Kiazyk
03a136385f
Bump build v1.4.0 2022-04-14 15:15:48 -05:00
Matt Kiazyk
f7b4c5e2bb
Make Symbolic Link on Xcode Select 2022-04-14 14:34:44 -05:00
Matt Kiazyk
b36ef479a7
Merge pull request #199 from RobotsAndPencils/MinOSVersionCheck
Add check for min MacOS version when installing
2022-04-13 21:03:59 -05:00
Matt Kiazyk
20e7b57ad4
Add check for min MacOS version when installing 2022-04-12 20:11:42 -05:00
Matt Kiazyk
4cee0f2f15
Adds option to create symbolic link at Path Xcode.app 2022-04-11 19:37:11 -05:00
Andrew Erickson
c2259cf078 use fixed locale for date parsing of api responses 2022-04-09 12:12:16 -06:00
Matt Kiazyk
e92434e9ba
increment build 1.3.1 2022-03-28 21:48:09 -05:00
Matt Kiazyk
f665054c7f
Updates unxip to be universal. Updates experiment icon to support OS11 2022-03-18 09:05:20 -05:00
Matt Kiazyk
9fc2c7aaf6
codesign unxip binary 2022-02-07 15:24:32 -06:00
Matt Kiazyk
f75bf2d5bb
Bump version number 2022-02-06 13:53:18 -06:00
Matt Kiazyk
ce001c8e68
add a unxip experiment for faster unxipping 2022-02-06 13:25:23 -06:00
Matt Kiazyk
c0974edc98
Increment build number
Signed-off-by: Matt Kiazyk <mattkiazyk@gmail.com>
2022-01-06 21:38:22 -06:00
Matt Kiazyk
709af9e97a
Update download task to check for resultCode !=0 2021-11-09 16:25:26 -06:00
Matt Kiazyk
4db8346c2f
Merge branch 'main' into matt/nonPaidAppleDeveloper 2021-11-04 21:49:32 -05:00
Oskar Figiel
04d81ed9e4 Show a message when user is not authorized yet 2021-11-01 17:30:39 +01:00
Matt Kiazyk
e8fd83032b
fix: Allow non-paid Apple Developers to download 2021-10-27 08:30:43 -05:00
MattKiazyk
22c390b666
Increment build number
Signed-off-by: MattKiazyk <mattkiazyk@gmail.com>
2021-10-21 19:32:33 -05:00
Matt Kiazyk
83fa00b21f
Merge pull request #159 from RobotsAndPencils/matt/NonDeveloper
Better handling of when AppleId is not a developer
2021-10-21 19:03:29 -05:00
Matt Kiazyk
e11cdd1198
Fix up Tests - modify validateSession to use our network wrapper. 2021-10-19 10:54:47 -05:00
Matt Kiazyk
1496f32e28
Better handling of when AppleId is not a developer 2021-10-14 15:43:16 -05:00
Matt Kiazyk
86bbd9451c
Adds a quick toolbar option for opening preferences 2021-10-13 14:44:43 -05:00
Matt Kiazyk
04c79c36ad
Merge pull request #156 from RobotsAndPencils/matt/OpenIdenticalBuilds
Better handling of duplicate builds and buttons not working
2021-10-08 16:27:32 -05:00
Matt Kiazyk
06d7b494aa
PR review cleanup 2021-10-08 16:22:12 -05:00
Matt Kiazyk
68838ecb4c
fix: better handling of opening duplicate builds 2021-10-08 15:56:29 -05:00
Matt Kiazyk
3a5b63b174
Adds ability to switch the local cache directory 2021-10-01 16:51:33 -05:00
棒棒彬_Binboy
550cf3261c
Apply suggestions from code review
if the isInstalledOnly is on, we filter with `AND` instead of `OR`

Co-authored-by: Matt Kiazyk <matt@bnid.ca>
2021-09-16 08:26:46 +08:00
Binlogo
12cc6b11ba Support release or beta version filter 2021-09-16 01:08:52 +08:00
Teddy Newell
e1e2b97a9e InfoPane_Previews release date 2021-08-10 09:35:11 -07:00
Teddy Newell
0c14934e58 Add release date view to InfoPane 2021-08-05 17:34:16 -07:00
Matt Kiazyk
5c02200f88
Increment Build number 2021-06-07 11:00:05 -05:00
Andrew Erickson
85340e6189
Merge pull request #131 from RobotsAndPencils/andrew/duplicateAlerts
only present a single alert at time
2021-05-02 09:27:58 -06:00
Andrew Erickson
ec2d76a9fe clear login credentials after any auth failure 2021-05-02 09:10:39 -06:00
Andrew Erickson
a7e36ca709 prevent alerts refreshing xcode with invalid session 2021-05-02 09:05:48 -06:00
Matt Kiazyk
31ffac80d3
PR updates 2021-05-02 10:02:30 -05:00
Matt Kiazyk
ecfb49a216
Merge branch 'main' into Notifications 2021-05-02 09:38:29 -05:00
Andrew Erickson
9395b1fda2 only present a single alert at time 2021-05-02 07:52:42 -06:00
Andrew Erickson
ebe393d4ad
Merge pull request #130 from RobotsAndPencils/andrew/update-licenses
include updates to sparkle license
2021-05-02 07:44:38 -06:00
Andrew Erickson
89f978684a include updates to sparkle license 2021-05-01 12:51:26 -06:00
Andrew Erickson
761b2bd8cb handle account locked auth error 2021-05-01 09:13:26 -06:00
Andrew Erickson
2289692422 show auth errors inline on sign in view 2021-05-01 09:12:53 -06:00
Andrew Erickson
499d33f8e0 only show signed in view if authenticated 2021-05-01 08:20:54 -06:00
Andrew Erickson
357121bad5 fix branch conflicts 2021-04-30 20:15:54 -06:00
Andrew Erickson
cafa7baf1f present two factor sheet after 2fa data is set 2021-04-30 14:56:40 -06:00
Andrew Erickson
c300a75b22 add login button in main toolbar 2021-04-30 14:44:14 -06:00
Andrew Erickson
287b5500fe present sign in when credentials are required 2021-04-30 14:43:54 -06:00
Matt Kiazyk
11e8fdecf8
Adds a settings button that loads MacOS Notification when user denies access 2021-04-29 17:04:38 -05:00
Matt Kiazyk
094bb6f0cc
Adds MacOS notifications 2021-04-28 21:50:44 -05:00
Sam Lu
59971fbe1e Create universal aria2 binary
Fat binary generated via `lipo` that contains support for both x86_64 and arm64
2021-04-22 23:21:32 -06:00
Sam Lu
350e5708b7 Bundle M1-compatible version of aria2 2021-04-15 17:46:44 -06:00
Matt Kiazyk
563a75fa88
Increment build number 2021-03-10 18:43:24 -06:00
Matt Kiazyk
0c94a76baa
Merge pull request #115 from RobotsAndPencils/EstimatedNewLine
Updates estimated time on info pane to 2 lines for better readability
2021-03-10 08:28:17 -06:00
Matt Kiazyk
da56b2ac6d
Updates estimated time on info pane to 2 lines for better readability 2021-03-07 14:33:32 -06:00
Matt Kiazyk
8011f4a288
Auto Install Xcode if wanted 2021-03-07 14:21:27 -06:00
Matt Kiazyk
f01db8b931
Increment build number
Signed-off-by: Matt Kiazyk <mattkiazyk@gmail.com>
2021-02-22 15:12:09 -06:00
Brandon Evans
22894e2d6d
Move installation step beside cancel button in info pane 2021-02-18 19:20:08 -07:00
Brandon Evans
2f04d23eac
Use Logger for Progress.updateFromAria2 2021-02-18 19:19:30 -07:00
Brandon Evans
899eec7dae
Don't attempt to parse days from aria2c ETA
I had initially suggested this but then went and checked in the source and the largest unit in the format is hours. 52da4e40ea/src/util.cc (L518-L534)
2021-02-18 19:16:08 -07:00
Brandon Evans
e301ad8818
Configure aria2c Progress better
Using .file kind and .downloading file operation kind will produce a more appropriate localizedAdditionalDescription.

The fileTotalCount and fileCompletedCount aren't appropriate for this case, because there's only one file being downloaded.
2021-02-18 19:14:44 -07:00
Brandon Evans
d00a356c29
Show installation step description for all steps in InstallationStepDetailView 2021-02-18 19:14:06 -07:00
Brandon Evans
1469dfa56b
Replace ObservingDownloadStatsView with ObservingProgressIndicator
This more closely replicates the default look and feel of SwiftUI.ProgressView, but with explicit control over whether localizedAdditionalDescription is shown and without the label above the progress view that displays a fileOperationKind string.
2021-02-18 19:10:12 -07:00
Matt Kiazyk
e638547900
add Percent text to bar 2021-02-15 13:14:52 -06:00
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
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