feat(web): Improved assets upload (#3850)

* Improved asset upload algorithm.

- Upload Queue: New process algorithm
- Upload Queue: Concurrency correctly respected when dragging / adding multiple group of files to the queue
- Upload Task: Add more information about progress (upload speed and remaining time)
- Upload Panel: Add more information to about the queue status (Remaining, Errors, Duplicated, Uploaded)
- Error recovery: asset information are kept in the queue to give the user a chance to read the error message
- Error recovery: on error allow the user to retry the upload or hide the error / all errors

* Support "live" editing of the upload concurrency

* Fixed some issues

* Reformat

* fix: merge, linting, dark mode, upload to share

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
This commit is contained in:
Villena Guillaume
2023-09-01 18:00:51 +02:00
committed by GitHub
parent a26ed3d1a6
commit ca35e5557b
10 changed files with 483 additions and 169 deletions

View File

@@ -1,5 +1,20 @@
export enum UploadState {
PENDING,
STARTED,
DONE,
ERROR,
DUPLICATED,
}
export type UploadAsset = {
id: string;
file: File;
progress: number;
albumId?: string;
progress?: number;
state?: UploadState;
startDate?: number;
eta?: number;
speed?: number;
error?: unknown;
message?: string;
};