-
-
Notifications
You must be signed in to change notification settings - Fork 442
Downgrade System.Drawing.Common to 7.0.0 #3925
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
Conversation
📝 WalkthroughWalkthroughVersion downgrades to 7.0.0 for System.Drawing.Common and Microsoft.Win32.SystemEvents across Infrastructure project and related lockfiles. Updated dependency constraints and content hashes. Added comments in Flow.Launcher.Infrastructure.csproj explaining potential PlatformNotSupportedException with newer versions. Changes
Sequence Diagram(s)Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Be a legend 🏆 by adding a before and after screenshot of the changes you made, especially if they are around UI/UX. |
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.
Pull Request Overview
This PR fixes a SystemEvents issue by upgrading the Microsoft.Win32.SystemEvents package from version 9.0.7 to 9.0.8 and explicitly adding it as a direct dependency in the Infrastructure project.
- Updates Microsoft.Win32.SystemEvents from 9.0.7 to 9.0.8 across multiple projects
- Adds explicit direct dependency on Microsoft.Win32.SystemEvents in Flow.Launcher.Infrastructure
- Updates package lock files to reflect the new dependency structure
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
File | Description |
---|---|
Flow.Launcher/packages.lock.json | Updates SystemEvents version and adds explicit dependency reference |
Flow.Launcher.Infrastructure/packages.lock.json | Changes SystemEvents from transitive to direct dependency |
Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj | Adds explicit PackageReference for SystemEvents 9.0.8 |
Flow.Launcher.Core/packages.lock.json | Updates SystemEvents version and adds dependency reference |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
🥷 Code experts: no user but you matched threshold 10 Jack251970 has most 👩💻 activity in the files. See details
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame:
Activity based on git-commit:
Knowledge based on git-blame: ✨ Comment |
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.
Actionable comments posted: 2
🧹 Nitpick comments (2)
Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj (1)
3-16
: Lockfile enforcement in CI.You already set RestorePackagesWithLockFile here. Ensure pipeline uses dotnet restore --locked-mode for all projects to avoid accidental upgrades.
Flow.Launcher/packages.lock.json (1)
865-866
: Project constraint adjusted to [7.0.0, ).Nice alignment across solution boundaries. Consider centralizing these pins in a Directory.Packages.props to avoid scattering version decisions.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (4)
Flow.Launcher.Core/packages.lock.json
(3 hunks)Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj
(1 hunks)Flow.Launcher.Infrastructure/packages.lock.json
(2 hunks)Flow.Launcher/packages.lock.json
(3 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 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.
📚 Learning: 2024-10-08T15:52:58.573Z
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.
Applied to files:
Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj
Flow.Launcher.Infrastructure/packages.lock.json
Flow.Launcher/packages.lock.json
Flow.Launcher.Core/packages.lock.json
⏰ 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). (4)
- GitHub Check: gitStream.cm
- GitHub Check: gitStream workflow automation
- GitHub Check: gitStream.cm
- GitHub Check: build
🔇 Additional comments (7)
Flow.Launcher.Infrastructure/packages.lock.json (1)
159-161
: Transitive Microsoft.Win32.SystemEvents = 7.0.0 confirmed.Good alignment with the intended workaround for the PlatformNotSupportedException.
Flow.Launcher.Core/packages.lock.json (3)
164-166
: Core resolves Microsoft.Win32.SystemEvents to 7.0.0.Matches Infrastructure; reduces mismatch risk at runtime.
225-229
: System.Drawing.Common locked to 7.0.0 (transitive).Aligned with Infrastructure. Keep an eye on upstream packages that may try to raise this.
Run in CI: dotnet restore --locked-mode to enforce the lock.
265-266
: Constraint updated to [7.0.0, ) for Infrastructure.Nice. This makes the intent explicit at the project boundary.
Flow.Launcher/packages.lock.json (3)
555-557
: Transitive Microsoft.Win32.SystemEvents resolved to 7.0.0 at app level.Good; consistent with Core/Infrastructure.
680-684
: System.Drawing.Common resolved to 7.0.0 at app level.Matches the intended pin; helps prevent the NotSupported exception.
1-875
: Run a local vulnerability scan for older package pins
CI couldn’t executedotnet list package --vulnerable
; please run a local scan to confirm no known CVEs affect System.Drawing.Common 7.0.0 (direct) or the transitive System.Drawing.Common 4.7.0/Microsoft.Win32.SystemEvents 7.0.0 dependencies and share the findings. RestorePackagesWithLockFile is correctly enabled.
Downgrade System.Drawing.Common to 7.0.0
Follow on with #3846.
Downgrade System.Drawing.Common to 7.0.0 to resolve PlatformNotSupportedException: SystemEvents is not supported on this platform in Microsoft.Win32.SystemEvent calling.
Test
After this PR, this issue is fixed:
Jack251970/Flow.Launcher.Plugin.UninstallerPlus#5