Open shiftkey opened 7 years ago
support stacking dialogs so that we can push and pop dialogs within the app
@desktop/design if we all agree that this is desirable from a UX point of view, I think we could split this out into its own issue. What do you all think?
@desktop/design if we all agree that this is desirable from a UX point of view, I think we could split this out into its own issue. What do you all think?
I'm in favor of having arbitrary dialog stacks at some point though I suspect it's not a trivial thing to implement well and I'm not certain that we need it in this particular case. Before we moved the display of unhandled errors (crashes) from being a modal dialog into its own process we used to render it on top of any content, including other modal dialogs.
We could implement a similar approach here. Render this particular dialog on its own layer on top of the dialog layer.
I think the following behavior from GitHub Desktop 1.4.0 falls within this issue's scope, but perhaps y'all can let me know if this would be better in a separate issue:
Configure a GitHub Enterprise appliance with the default self-signed certificate. Don't trust the certificate, or delete it from Keychain Access if you did during the initial configuration.
From a fresh GitHub Desktop installation—or after clearing the application's preferences from ~/Library/Application Support/GitHub Desktop—click Sign into GitHub Enterprise:
Enter the appliance's hostname and click Continue:
Undesired behavior: Instead of a warning about the self-signed certificate, you get a more generic authentication error:
You can work around this by clicking Cancel and then logging in via GitHub Desktop's preferences, or by explicitly trusting the appliance's self-signed certificate in Safari.
@mattpollard thanks for the heads up about the Welcome Wizard - I think that's failing because we don't have the ability to display the dialog for "validate the self-signed certificate" like we do when you sign in via Preferences.
Some feedback from https://github.com/desktop/desktop/pull/2581 around the certificate flow that we need to add in the app:
dialog.showCertificateTrustDialog
is invoked, return the user to the previous dialog (if applicable)