fix: WMI disposal in SystemInfoService, brush freeze, collection expressions (CQ-002, MODERN-003)#378
Conversation
…essions (CQ-002, MODERN-003)
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
📜 Recent review details⏰ 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)
🔇 Additional comments (8)
📝 WalkthroughWalkthroughThis PR consolidates maintenance improvements for v0.48.14: proper disposal of WMI ManagementObject instances in SystemInfoService query methods, narrowed exception handling in HexToBrushConverter, and collection-expression modernization replacing Array.Empty() across file-scanning services. ChangesResource disposal and code modernization
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
| var uptime = TimeSpan.Zero; | ||
| if (!string.IsNullOrEmpty(lastBootRaw)) | ||
| { | ||
| try { uptime = DateTime.Now - ManagementDateTimeConverter.ToDateTime(lastBootRaw); } catch (FormatException) { } catch (InvalidCastException) { } |
| var uptime = TimeSpan.Zero; | ||
| if (!string.IsNullOrEmpty(lastBootRaw)) | ||
| { | ||
| try { uptime = DateTime.Now - ManagementDateTimeConverter.ToDateTime(lastBootRaw); } catch (FormatException) { } catch (InvalidCastException) { } |
#481) ## Summary Fully implements the App Blocker tab, replacing the WIP placeholder. Blocks applications from executing using the Image File Execution Options (IFEO) registry mechanism. ## Changes - **New**: \AppBlockerService\ — uses IFEO Debugger key to prevent app execution. Block, unblock, check status, enumerate all blocked apps. Fully reversible. - **New**: \AppBlockerViewModel\ — block by name or browse, unblock selected, refresh list, select/deselect all. Admin privilege detection. - **New**: \BlockedApp\ model — executable name, full path, blocked timestamp, selection state. - **New**: \AppBlockerView.xaml\ — text input + browse, toolbar, DataGrid. - **Updated**: \MainWindowViewModel\ — replaced \WipAppBlocker\ placeholder with real \AppBlockerViewModel\. - **Tests**: 5 unit tests for ViewModel and Model. ## Safety - Confirmation dialog before block and unblock - Admin privilege check with clear status message - Fully reversible — unblock removes the IFEO Debugger key - Only blocks apps marked by SysManager (checks for specific debugger path) Closes #378 Co-authored-by: laurentiu021 <laurentiu021@users.noreply.github.com>
…essions (CQ-002, MODERN-003) (#378) Co-authored-by: laurentiu021 <laurentiu021@users.noreply.github.com>
Summary
Priority 2 fixes from QA audit.
Changes
CQ-002: SystemInfoService WMI disposal
Brush freeze
MODERN-003: Array.Empty → []
Housekeeping
Build
Summary by CodeRabbit
Bug Fixes
Chores