Skip to content

fix: resolve UI issues — empty DNS page, ghost checkboxes, tune-up confirm#498

Merged
laurentiu021 merged 1 commit into
mainfrom
fix/ui-issues-batch
May 22, 2026
Merged

fix: resolve UI issues — empty DNS page, ghost checkboxes, tune-up confirm#498
laurentiu021 merged 1 commit into
mainfrom
fix/ui-issues-batch

Conversation

@laurentiu021

@laurentiu021 laurentiu021 commented May 22, 2026

Copy link
Copy Markdown
Owner

Fixes

  1. DNS & Hosts page empty — view referenced non-existent BoolToVisInv converter causing silent XAML load failure. Replaced with FlexVis + Inverse parameter.
  2. Quick Tune-Up ignores No — dialog asked about Recycle Bin but always proceeded. Now asks explicit confirmation before any action.
  3. Ghost checkbox in Windows Update — DataGrid visible when empty. Now hidden via GreaterThanZero converter on UpdateCount.
  4. Ghost checkbox in Uninstaller — Same fix applied to FilteredApps.Count.
  5. CHANGELOG — Added missing v1.7.3 entry (startup crash fix).

Test plan

  • DNS & Hosts page shows content (presets + hosts entries)
  • Quick Tune-Up: clicking No cancels the operation
  • Windows Update: no empty row before listing updates
  • Uninstaller: no empty row before scanning

Summary by CodeRabbit

Release Notes

  • Bug Fixes

    • Fixed a startup crash caused by an incorrect P/Invoke entry point declaration
    • Fixed a shutdown crash in the DNS hosts module
  • Improvements

    • Streamlined the Quick Tune-Up confirmation dialog to automatically handle Recycle Bin cleanup
    • Enhanced the uninstaller to conditionally display the app list only when results are available
    • Optimized Windows Update view virtualization for improved performance

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 22, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: cf0fc43f-e7fb-4c66-9a9d-090ee73e2aaf

📥 Commits

Reviewing files that changed from the base of the PR and between 84462f6 and 1e65723.

📒 Files selected for processing (5)
  • CHANGELOG.md
  • SysManager/SysManager/ViewModels/DashboardViewModel.cs
  • SysManager/SysManager/Views/DnsHostsView.xaml
  • SysManager/SysManager/Views/UninstallerView.xaml
  • SysManager/SysManager/Views/WindowsUpdateView.xaml
📜 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)
  • GitHub Check: Build & unit tests
  • GitHub Check: Analyze (csharp)
🔇 Additional comments (5)
CHANGELOG.md (1)

9-17: LGTM!

SysManager/SysManager/ViewModels/DashboardViewModel.cs (1)

124-130: LGTM!

SysManager/SysManager/Views/UninstallerView.xaml (1)

68-69: LGTM!

SysManager/SysManager/Views/WindowsUpdateView.xaml (1)

130-131: LGTM!

SysManager/SysManager/Views/DnsHostsView.xaml (1)

26-26: LGTM!


📝 Walkthrough

Walkthrough

This PR documents and implements fixes for two crashes and simplifies the Quick Tune-Up confirmation flow. It also improves DataGrid visibility and virtualization handling across multiple XAML views.

Changes

Release v1.7.3 fixes and improvements

Layer / File(s) Summary
Quick Tune-Up confirmation simplification
SysManager/SysManager/ViewModels/DashboardViewModel.cs
RunTuneUpAsync now shows a single "Quick Tune-Up — Confirm" dialog before starting and always sets the Recycle Bin to be emptied, removing the previous separate Recycle Bin prompt logic.
DataGrid visibility and virtualization improvements
SysManager/SysManager/Views/UninstallerView.xaml, SysManager/SysManager/Views/WindowsUpdateView.xaml, SysManager/SysManager/Views/DnsHostsView.xaml
UninstallerView and WindowsUpdateView add conditional Visibility bindings to their DataGrids to show them only when data is present. WindowsUpdateView explicitly sets VirtualizingPanel.VirtualizationMode="Recycling". DnsHostsView updates its administrator-required TextBlock to use the FlexVis converter with Inverse parameter instead of BoolToVisInv.
Release 1.7.3 changelog entry
CHANGELOG.md
Documents two bug fixes: a startup crash caused by an incorrect DefWindowProcW P/Invoke entry-point declaration, and a shutdown crash caused by a DnsHostsViewModel CancellationTokenSource disposal race.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • laurentiu021/SystemManager#489: Updates WPF DataGrid XAML virtualization across multiple views using VirtualizingPanel.VirtualizationMode="Recycling", directly related to WindowsUpdateView changes in this PR.
  • laurentiu021/SystemManager#351: Addresses Recycle Bin emptying in TuneUpService, directly related to the simplified emptyBin = true behavior in this PR's tune-up flow.
  • laurentiu021/SystemManager#264: Implements the Quick Tune-Up wizard in DashboardViewModel and TuneUpService, providing context for the confirmation-flow simplification in this PR.

Poem

🐰 A little tune-up, a cleaner view,
No more dialogs asking "what shall we do?"
Grids now hide when empty, as they should be,
Virtualized and nimble for all to see! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: DNS page empty issue (FlexVis converter), ghost checkboxes (visibility bindings), and tune-up confirmation dialog behavior.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ui-issues-batch

Comment @coderabbitai help to get the list of available commands and usage tips.

@laurentiu021
laurentiu021 merged commit ea4e6da into main May 22, 2026
5 checks passed
@laurentiu021
laurentiu021 deleted the fix/ui-issues-batch branch May 22, 2026 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant