Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#5,345 コメント 1 件 リアクション 2 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
30/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
活発
技術スタック
csharp
領域
desktop

調査の方向性

この issue ではファイル、テスト、エントリーポイントが特定されていないため、まず UniGetUI の一括インストール、更新、ダウンロードの操作フローを特定する。並行して処理されるパッケージ、利用できないサイズ、再試行、失敗、キャンセル、スキップされたパッケージに対するグローバルな進捗の挙動を定義する。完了とは、個々の進捗を引き続き利用できる状態で、バッチの最終サマリーが表示されることを意味する。

索引モデルが issue の本文から書いたものです。

説明

new-feature
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.

主要言語
C#
スター
26.2k
フォーク
929
平均マージ
1日 2時間
マージ済み PR(30日)
50

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Devolutions/UniGetUI のほかの issue

Devolutions/UniGetUI の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。