-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
don't try passwordless on Linux #493
Conversation
// `TryGetPathToBrowser` does return `false` for Linux, but excluding Linux earlier here helps | ||
// the compiler trim more unused code (e.g. all of PuppeteerSharp) | ||
!OperatingSystem.IsLinux() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I get how that works in theory, how the compiler can suss out that during build time that "hey this check with a static will always be false here, no need to include code only used in this branch"
It is still mind blowing :P
Not relevant here but, do you know if there is any ways to guarantee that certain things are trimmed or else to throw errors etc...? AFAIK its a bit of a problem with code that relies on compiler optimizations via clever syntax, where it would silently start using the slower path after relatively innocuous looking changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know of a way to do that in general.
In the specific case of OS dependent code though, using preprocessor directives is a common way to do it, e.g.
https://stackoverflow.com/questions/30153797/c-sharp-preprocessor-differentiate-between-operating-systems
The .NET runtime and core libraries themselves use this a lot.
I tried this a bit in the early days of .NET BMX, but couldn't get the dev experience I wanted.
Okta doesn't support DSSO on Linux anyway, and in my testing BMX always runs into the "unknown browser error" territory when I run it on Linux with Chrome installed.
Might as well remove the bloat and noise.