Skip to content

Rework progress bar to single unified component#408

Merged
veeso merged 9 commits into
1.0.0from
feat/progress-bar-rework
Mar 23, 2026
Merged

Rework progress bar to single unified component#408
veeso merged 9 commits into
1.0.0from
feat/progress-bar-rework

Conversation

@veeso
Copy link
Copy Markdown
Owner

@veeso veeso commented Mar 21, 2026

Summary

  • Replaced the dual progress bar (partial + full) with a single unified TransferProgressBar component that tracks bytes transferred with lazy estimation
  • Consolidated theme configuration by merging separate progress bar color fields into a single transfer_progress_bar field
  • Fixed rendering: progress bar now renders immediately after mounting and uses time-based redraw interval instead of progress-delta threshold
  • Bumped remotefs-ssh to 0.8.1

Test plan

  • Verify file transfers display a single progress bar with correct percentage
  • Verify progress bar renders immediately when transfer starts
  • Verify theme customization of progress bar color works in setup screen
  • Verify existing themes load correctly with the new transfer_progress_bar field
  • Run cargo test --no-default-features --features github-actions --no-fail-fast

veeso added 9 commits March 21, 2026 16:53
The old 1% progress threshold caused the UI to appear frozen on large
files (e.g. 1GB) because many read/write iterations passed between
redraws. Switching to a 100ms time-based interval ensures consistent
UI responsiveness regardless of file size.
Call self.view() right after mount_progress_bar() at all 6 call sites
so the bar is visible on screen before the transfer loop begins.
@cocogitto-bot
Copy link
Copy Markdown

cocogitto-bot Bot commented Mar 21, 2026

✔️ 7f294c0...c74c1c9 - Conventional commits check succeeded.

@veeso veeso merged commit 6875d5d into 1.0.0 Mar 23, 2026
5 checks passed
@veeso veeso deleted the feat/progress-bar-rework branch March 23, 2026 10:09
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.

1 participant