Skip to content

Fix incorrect progress reporting when resuming downloads#900

Merged
jpdillingham merged 12 commits intomasterfrom
offset
Mar 14, 2026
Merged

Fix incorrect progress reporting when resuming downloads#900
jpdillingham merged 12 commits intomasterfrom
offset

Conversation

@jpdillingham
Copy link
Copy Markdown
Owner

@jpdillingham jpdillingham commented Mar 13, 2026

When transfer logic was refactored in #866, I made the mistake to add the start output to the stream position when reporting the final progress for the transfer. The stream position is enough; it should end up at precisely the size of the transferred file; there's no need to add the start offset. I've corrected this issue.

When making these changes I realized that the logic to update progress during the transfer (via the DataRead event) relies on the start offset, plus the number of bytes transferred so far. This doesn't agree with the final updates using the stream position, if the stream we are given isn't properly positioned at the start offset.

I've added logic to automatically seek the given stream to the proper place when a start offset is supplied. This can be overridden with a transfer option SeekOutputStreamAutomatically, but anyone setting this to false needs to understand that the data provided in the final updates is likely going to be incorrect for them, and they need to compensate.

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.86%. Comparing base (e8e46b4) to head (3940d49).
⚠️ Report is 13 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #900      +/-   ##
==========================================
+ Coverage   98.83%   98.86%   +0.03%     
==========================================
  Files         184      184              
  Lines        6498     6508      +10     
  Branches      996      996              
==========================================
+ Hits         6422     6434      +12     
  Misses         49       49              
+ Partials       27       25       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud
Copy link
Copy Markdown

@jpdillingham jpdillingham merged commit 43e9337 into master Mar 14, 2026
6 checks passed
@jpdillingham jpdillingham deleted the offset branch March 14, 2026 17:01
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