Skip to content

Ask for confirmation before uninstalling packages - #5533

Open
Maxime Landry (mlandry-devolutions) wants to merge 2 commits into
mainfrom
fix/confirm-before-uninstall
Open

Maxime Landry (mlandry-devolutions) wants to merge 2 commits into
mainfrom
fix/confirm-before-uninstall

Conversation

@mlandry-devolutions

@mlandry-devolutions Maxime Landry (mlandry-devolutions) commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor
  • I have read the contributing guidelines, and I agree with the Code of Conduct.
  • Have you checked that there aren't other open pull requests for the same changes?
  • Have you tested that the committed code can be executed without errors?
  • Have you confirmed that this issue is caused by UniGetUI itself, and not by the package manager or the package involved?

UninstallConfirmationDialog already exists (translated, with the package list), but only the Software Catalog called it: every other uninstall started right away. On the Updates page every row is checked by default, so a single click on "Uninstall selected packages" uninstalled every package with an update.

  • Installed page: the toolbar button and its as-admin / interactive variants, the context menu (Uninstall, as admin, interactive, remove data), Ctrl+Enter, double-click and the uninstall options dialog now go through ConfirmAndLaunchUninstall.
  • Updates page: "Uninstall selected packages" and the context menu confirm in LaunchUninstallFromUpdates.
  • Package details: the Uninstall button and its variants confirm on top of the details dialog (the main window stacks immersive dialogs), and the dialog stays open on No. This covers every caller, Installed page and catalog included.
  • No double prompt: the confirmation lives in the entry points, not in LaunchUninstall, because the catalog confirms before calling it.

No new string. Left as is: "Uninstall then reinstall" (reinstalls right after), repeating an operation from the history, and the IPC API.

Tested on macOS: Installed and Updates pages, context menu, package details and its variants; No cancels everywhere and nothing is uninstalled.


Relates to UNI-37

🤖 Generated with Claude Code

…d and Updates pages

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd the uninstall options dialog

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

Static review found no blocking issues in confirmation routing, cancellation handling, or existing caller integration.

0 open findings

What changed in this PR

Adds confirmation before uninstalling packages through the desktop UI, reusing the existing translated confirmation dialog.

Changes:

  • Routes Installed and Updates page uninstall actions through confirmation.
  • Confirms package-details uninstall actions while keeping details open when declined.
  • Preserves catalog confirmation without adding duplicate prompts.
File Description
src/​UniGetUI.Avalonia/​Views/​SoftwarePages/​SoftwareUpdatesPage.cs Confirms selected packages before uninstalling.
src/​UniGetUI.Avalonia/​Views/​SoftwarePages/​InstalledPackagesPage.cs Adds shared confirmation routing for uninstall entry points.
src/​UniGetUI.Avalonia/​Views/​DialogPages/​PackageDetailsWindow.axaml.cs Confirms primary and variant uninstall actions.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants