Skip to content
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

Merged
merged 3 commits into from
Oct 23, 2024
Merged

don't try passwordless on Linux #493

merged 3 commits into from
Oct 23, 2024

Conversation

cfbao
Copy link
Member

@cfbao cfbao commented Oct 23, 2024

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.

@github-actions github-actions bot added language/csharp size/XS A very small PR - good job! labels Oct 23, 2024
@github-actions github-actions bot added size/S A small PR. and removed size/XS A very small PR - good job! labels Oct 23, 2024
@cfbao cfbao marked this pull request as ready for review October 23, 2024 17:48
@cfbao cfbao requested a review from a team as a code owner October 23, 2024 17:48
Comment on lines +63 to +65
// `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()
Copy link
Member

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.

Copy link
Member Author

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.

@cfbao cfbao merged commit c7d2cb2 into main Oct 23, 2024
9 checks passed
@cfbao cfbao deleted the no-dsso-linux branch October 23, 2024 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants