feat(filemanager): add real-time progress tracking to browser batch downloads#332
Merged
Merged
Conversation
…ownloads Replace the indeterminate "Batch download has started" snackbar with a detailed progress tracker showing file count, byte-based percentage, download speed (rolling average), current filename, and a progress bar. - Stream response bodies via ReadableStream to track bytes in real-time - Calculate download speed using a rolling 5-sample average - Show "saving..." status during filesystem write operations - Add cancel button that cleanly aborts the download - Show completion/cancellation toasts with download summary - Add beforeunload warning to prevent accidental tab closure Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
YUDONGLING
reviewed
Mar 31, 2026
…s in multiple languages
Member
|
Thanks! |
HFO4
approved these changes
Mar 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces the indeterminate "Batch download has started..." snackbar with a real-time progress tracker for browser-side batch downloads.
Before
After
beforeunloadwarning to prevent accidental tab closure during downloadsHow it works
ReadableStream.getReader()to count bytes in real-timecancelSignalsAbortController for clean cancellationLoadingSnackbargetProgresscallback for the circular progress indicatorFiles changed
| File | Change |
|
src/redux/thunks/download.ts| Progress tracking, byte streaming, cancel/complete handling ||
src/component/Common/Snackbar/snackbar.tsx| Progress and completion UI components ||
src/redux/globalStateSlice.ts|BatchDownloadProgressstate and reducers ||
src/component/Common/Snackbar/LoadingSnackbar.tsx| Layout adjustment for progress display ||
src/redux/thunks/file.ts| AddedgetProgressparam tolongRunningTaskWithSnackbar||
public/locales/en-US/application.json| i18n strings for new UI text |Test plan
CANCEL.mp4
DOWNLOADCOMPLETE.mp4
DOWNLOADING.mp4