Skip to content

feat(plugins): add update all CLI flag and settings updates dialog#2682

Draft
hthienloc wants to merge 4 commits into
AvengeMedia:masterfrom
hthienloc:feat/plugins-update-all
Draft

feat(plugins): add update all CLI flag and settings updates dialog#2682
hthienloc wants to merge 4 commits into
AvengeMedia:masterfrom
hthienloc:feat/plugins-update-all

Conversation

@hthienloc

@hthienloc hthienloc commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Description

Adds options to check and perform bulk plugin updates via the dms CLI and front-end settings.

What:

  1. CLI Commands:
    • Added --all / -a flag to dms plugins update to update all plugins sequentially.
    • Added --check flag to dms plugins update to fetch and list outdated plugins without executing changes.
    • Updated dms plugins list to display (update available) next to any outdated plugins.
    • Skip system-wide plugins gracefully during bulk updates with a skip warning.
  2. Settings UI Dialog:
    • Registered PluginUpdatesDialog to list plugins with pending updates, styled with primary action buttons (Update, Update All) and neutral secondary controls (Diff, Cancel).
    • Implemented precise Git commit comparison URLs (github.com/user/repo/compare/local_head...remote_head) under the "Diff" button.

Why:

  • Enables package managers (e.g. topgrade) and automation tools to check and update plugins cleanly, and improves front-end UX by exposing commit comparison diffs before updating.

How tested:

  1. Compiled the Go daemon with make build.
  2. Verified dms plugins list highlights update availabilities.
  3. Verified dms plugins update --check --all returns only outdated plugin lists and exits correctly.
  4. Validated QML dialog interaction, diff generation, and update operations.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes existing behavior)
  • Refactor / internal cleanup
  • Documentation
  • Other

Related issues

Closes #2175

Screenshots / video

recording_20260622_121221.mp4

Checklist

  • My code follows the conventions in CONTRIBUTING.md
  • I have tested my changes locally
  • New user-facing strings are wrapped in I18n.tr() with translator context, reusing existing terms where possible
  • Go changes: ran make fmt, added/updated tests, make test passes, and go mod tidy is clean
  • QML changes: ran make lint-qml with no new warnings
  • I have opened a corresponding pull request in dlx-docs to document any new behaviors: https://github.com/AvengeMedia/DankLinux-Docs

@hthienloc hthienloc marked this pull request as draft June 22, 2026 05:17
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.

add: Update All Plugins Flag to dms plugins update

1 participant