Skip to content

Conversation

Jack251970
Copy link
Member

@Jack251970 Jack251970 commented Aug 5, 2025

Fix #3877

Tested by @H5820121

I think we need to update the official documents for this

Related to #3286

@prlabeler prlabeler bot added the bug Something isn't working label Aug 5, 2025
Copy link

gitstream-cm bot commented Aug 5, 2025

🥷 Code experts: no user but you matched threshold 10

Jack251970, VictoriousRaptor have most 👩‍💻 activity in the files.

See details

Directory.Build.props

Activity based on git-commit:

Jack251970 VictoriousRaptor
AUG
JUL
JUN
MAY
APR
MAR

Knowledge based on git-blame:

Flow.Launcher/Flow.Launcher.csproj

Activity based on git-commit:

Jack251970 VictoriousRaptor
AUG
JUL 7 additions & 8 deletions
JUN 5 additions & 0 deletions 3 additions & 0 deletions
MAY
APR 3 additions & 1 deletions
MAR 1 additions & 5 deletions 1 additions & 1 deletions

Knowledge based on git-blame:

✨ Comment /gs review for LinearB AI review. Learn how to automate it here.

Copy link

gitstream-cm bot commented Aug 5, 2025

Be a legend 🏆 by adding a before and after screenshot of the changes you made, especially if they are around UI/UX.

Copy link
Contributor

coderabbitai bot commented Aug 5, 2025

📝 Walkthrough

Walkthrough

A new MSBuild property <CETCompat>false</CETCompat> was added to Directory.Build.props as a workaround for a known .NET 9 compatibility issue. Additionally, a single empty line was removed from Flow.Launcher/Flow.Launcher.csproj with no functional impact.

Changes

Cohort / File(s) Change Summary
MSBuild CETCompat Workaround
Directory.Build.props
Added <CETCompat>false</CETCompat> property with a reference to a related .NET runtime issue.
Whitespace Adjustment
Flow.Launcher/Flow.Launcher.csproj
Removed a single empty line within a target element; no effect on build logic or functionality.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Assessment against linked issues

Objective Addressed Explanation
Apply workaround for .NET 9 bug that causes Flow Launcher to crash when running as administrator or opening Windows menu (ALT+ENTER) (#3877)

Suggested reviewers

  • taooceros

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch net9_fix

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
Directory.Build.props (1)

4-5: Add OS-specific condition to avoid noisy warnings on non-Windows builds

CETCompat is only evaluated by Windows-targeted builds.
Placing it unconditionally in Directory.Build.props means Linux/macOS CI agents (or contributors) will see an “unknown property” message emitted by the SDK, which is harmless but noisy.

Consider scoping the property so it is applied only when the build targets Windows:

-    <!-- Work around https://github.com/dotnet/runtime/issues/109682 -->
-    <CETCompat>false</CETCompat>
+    <!-- Workaround for https://github.com/dotnet/runtime/issues/109682 (Windows only) -->
+    <CETCompat Condition="'$(OS)' == 'Windows_NT'">false</CETCompat>

This keeps non-Windows builds clean while still delivering the fix.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ec2af81 and 4db825d.

📒 Files selected for processing (2)
  • Directory.Build.props (1 hunks)
  • Flow.Launcher/Flow.Launcher.csproj (0 hunks)
💤 Files with no reviewable changes (1)
  • Flow.Launcher/Flow.Launcher.csproj
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: taooceros
PR: Flow-Launcher/Flow.Launcher#2616
File: Flow.Launcher/Flow.Launcher.csproj:7-7
Timestamp: 2024-10-08T15:52:58.573Z
Learning: In the Flow Launcher project, the version number in the `Flow.Launcher.csproj` file is dynamically updated during the CI/CD process.
Learnt from: Jack251970
PR: Flow-Launcher/Flow.Launcher#3854
File: Flow.Launcher/App.xaml.cs:246-262
Timestamp: 2025-07-21T09:19:49.684Z
Learning: In Flow Launcher's App.xaml.cs, the asynchronous plugin initialization task (containing AbstractPluginEnvironment.PreStartPluginExecutablePathUpdate, PluginManager.LoadPlugins, PluginManager.InitializePluginsAsync, and AutoPluginUpdates) does not require additional try-catch error handling according to maintainer Jack251970, as these operations are designed to handle exceptions internally.
Learnt from: taooceros
PR: Flow-Launcher/Flow.Launcher#2616
File: Scripts/post_build.ps1:2-5
Timestamp: 2024-06-19T18:57:05.138Z
Learning: The `$flowVersion` parameter in the `post_build.ps1` script is intentionally left unset for dynamic assignment during script execution. The script contains logic to handle cases where this parameter remains unset.
Learnt from: taooceros
PR: Flow-Launcher/Flow.Launcher#2616
File: Scripts/post_build.ps1:2-5
Timestamp: 2024-10-12T22:14:51.524Z
Learning: The `$flowVersion` parameter in the `post_build.ps1` script is intentionally left unset for dynamic assignment during script execution. The script contains logic to handle cases where this parameter remains unset.
Learnt from: taooceros
PR: Flow-Launcher/Flow.Launcher#2442
File: Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj:4-4
Timestamp: 2024-10-08T15:52:58.573Z
Learning: In .NET 8, SourceLink is included by default, eliminating the need for the `Microsoft.SourceLink.GitHub` package.
Learnt from: taooceros
PR: Flow-Launcher/Flow.Launcher#2442
File: Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj:4-4
Timestamp: 2024-08-31T20:42:08.482Z
Learning: In .NET 8, SourceLink is included by default, eliminating the need for the `Microsoft.SourceLink.GitHub` package.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: gitStream.cm
  • GitHub Check: build

@Jack251970 Jack251970 enabled auto-merge August 5, 2025 08:02
@Jack251970 Jack251970 added the Documentation Update required to documentation label Aug 5, 2025
@jjw24
Copy link
Member

jjw24 commented Aug 6, 2025

I think we need to update the official documents for this

Is it documentation for plugin development in .Net 9?

@jjw24 jjw24 added Dev branch only An issue or fix for the Dev branch build and removed bug Something isn't working labels Aug 6, 2025
@Jack251970
Copy link
Member Author

I think we need to update the official documents for this

Is it documentation for plugin development in .Net 9?

Yes. I think so.

@H5820121
Copy link

H5820121 commented Aug 6, 2025

@Jack251970
By the way, if you exclude Flow.Launcher.exe in Windows Defender's Exploit Protection settings, it also solves the issue. I assume that not all users have this issue, because it depends on the settings there and the settings there are also not available on all devices. In any case, your fix solves the issue without the need to exclude there.

@jjw24
Copy link
Member

jjw24 commented Aug 6, 2025

@Jack251970 can you create an issue in the docs repo so we don't forget please.

@jjw24 jjw24 added this to the 2.0.0 milestone Aug 6, 2025
@Jack251970 Jack251970 merged commit 3c7f85e into dev Aug 6, 2025
20 checks passed
@Jack251970 Jack251970 deleted the net9_fix branch August 6, 2025 09:34
TBM13 pushed a commit to TBM13/Flow.Launcher that referenced this pull request Aug 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dev branch only An issue or fix for the Dev branch build Documentation Update required to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BUG: NET 9 FL Crash When Trying to Start Process by Admin
3 participants