Skip to content

Download refactor (UI & Logic) - #95

Closed
ItsDark008 wants to merge 3 commits into
mainfrom
refactor/download
Closed

ItsDark008 wants to merge 3 commits into
mainfrom
refactor/download

Conversation

@ItsDark008

@ItsDark008 ItsDark008 commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

What

  • resume partial downloads from servers that do not send an ETag, and only
    resume when the response is a matching 206 Partial Content
  • keep the stored ETag across resumed responses and clear it when a download
    restarts from scratch, so a later resume is not rejected by a stale validator
  • add SidebarDownloadStatus with progress, speed and phase for the active job,
    plus resume, pause and cancel quick actions
  • collapse the sidebar item to a compact progress indicator that opens the
    downloads section
  • extract ProgressBar and CancelDownloadDialog and reuse them in
    DownloadsView
  • poll download progress from the store at app level instead of once per view
  • keep HomeView rendered while downloads refresh in the background

Why

Interrupted downloads restarted from zero whenever the server omitted ETag,
because a stored validator was required to resume. The sidebar also gave no
feedback about a running download unless the downloads page was open.

Review notes

  • polling moved from DownloadsView into stores/downloads.ts and starts during
    bootstrap, so it now runs on every section while a download is active
  • new Rust tests cover resume without ETag, resume with a changed ETag and the
    cleared validator after a restart

ItsDark008 and others added 3 commits September 30, 2026 23:19
- add SidebarDownloadStatus with progress, speed and phase, collapsing to a compact indicator
- extract ProgressBar and CancelDownloadDialog for reuse
- poll download progress once at app level instead of per view
@ItsDark008 ItsDark008 self-assigned this Sep 30, 2026
@ItsDark008

ItsDark008 commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator Author

Superseded by #96.

@ItsDark008 ItsDark008 closed this Sep 30, 2026
@ItsDark008
ItsDark008 deleted the refactor/download branch September 30, 2026 23:25
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.

2 participants