Skip to content

[FEATURE REQUEST] Global progress bar for multi-package downloads and updates #5345

Description

@stormsia

Please confirm these before moving forward.

  • I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
  • This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use this template.

Describe the new feature

Global progress bar for multi-package downloads and updates

Problem

When installing or updating multiple packages at once, UniGetUI currently does not provide a clear global overview of the overall download progress.

Users can see the progress of individual package operations, but it is difficult to understand:

  • how much data has already been downloaded in total;
  • how much data remains;
  • the overall progress of the entire operation;
  • the current average download speed;
  • the estimated time remaining (ETA).

This is especially noticeable when multiple package managers are involved or when several packages are processed concurrently.

Proposed solution

Add a global progress bar for batch operations such as:

  • installing multiple packages;
  • updating multiple packages;
  • downloading package installers or archives;
  • other operations involving multiple downloads.

Before starting the operation, UniGetUI should collect and parse the expected download size of all available package candidates whenever this information is provided by the package manager.

The global progress indicator could display:

  • total downloaded size;
  • total expected size;
  • remaining size;
  • overall percentage;
  • current or average download speed;
  • estimated time remaining (ETA);
  • number of completed, active, and pending packages.

For example:

Downloading 1.24 GB of 3.80 GB — 32.6%
Average speed: 18.5 MB/s · Remaining: 2.56 GB · ETA: 2 min 18 sec
4 of 12 packages completed

Expected behavior

  1. When a batch operation starts, UniGetUI determines the total expected download size from all package candidates where possible.
  2. The global progress bar combines the progress of all active and pending downloads.
  3. Progress should remain accurate when multiple downloads are running simultaneously.
  4. The downloaded amount should be updated in real time.
  5. The average download speed should be calculated for the entire batch operation.
  6. The ETA should be based on the remaining amount and the current average speed.
  7. Packages for which the download size is unavailable should not break the global progress display.
  8. If the total size cannot be calculated reliably, UniGetUI should still show an indeterminate progress state together with the number of completed and active operations.
  9. The progress should account for retries, failed downloads, cancellations, and skipped packages.
  10. Once the operation finishes, the progress area should show a final summary, including the total downloaded size and duration.

Possible UI layout

A global progress section could be displayed above or alongside the list of individual package operations. Individual package progress should remain available for users who want more detailed information.

Describe how this new feature could help users

A global progress indicator would make batch operations more predictable and transparent, especially for large updates or installations. It would allow users to estimate how long the operation will take without having to monitor each package individually.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    new-featureA new feature that could be useful in WingetUI

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions