• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FROSADO / onecloudriver / 31945758111
78%

Build:
DEFAULT BRANCH: main
Ran 16 Aug 2026 12:02PM UTC
Jobs 1
Files 43
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Aug 2026 11:57AM UTC coverage: 77.408% (+0.04%) from 77.371%
31945758111

push

github

web-flow
fix(fs): release in-flight slot on failed uploads; keep dirty flag on empty flush (#87) (#88)

Uploads of newly created files silently never reached OneDrive. Root
cause found live: executeUpload only released its in-flight slot via
finishSession, which runs on success/abandon — a FAILED upload kept
its slot consumed forever. With the cap (5) reached by errored
sessions, retries could never re-launch (retries stuck at 1) and new
uploads stayed queued indefinitely: files remained local-* with their
content stranded in ContentCache.

- upload_manager.go: executeUpload releases its in-flight slot on
  every exit path (defer releaseInFlight); finishSession no longer
  decrements (the goroutine owns its slot, also for dedupe/cancel).
  QueueUpload now returns bool and only warns on a genuine read
  failure (file with content on disk), not on the empty first flush
  of a brand-new file (FUSE can process flush before the write).
- drive_item_node.go: Fsync clears hasChanges only when the upload
  was really enqueued or the file is empty, so a transient empty
  flush can never lose a file that is written afterwards.
- Tests: TestUploadManager_FailedUpload_ReleasesInFlightSlot (fails
  without the fix: slot leak stalls the pipeline), QueueUpload bool,
  and node-level create→empty-flush→write→flush enqueues the upload.
- docs/api/fs.md regenerated (QueueUpload signature).

Verified live: with the real (copied) cache state, a new file now
completes in ~3s (was: queued forever), stale sessions recover on
restart, and the false "ReadAll returned empty" warnings are gone.

Generated with Codebuff 🤖

Co-authored-by: Codebuff <noreply@codebuff.com>

20 of 22 new or added lines in 2 files covered. (90.91%)

3 existing lines in 2 files now uncovered.

3858 of 4984 relevant lines covered (77.41%)

489.31 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
83.38
0.34% internal/fs/upload_manager.go

Coverage Regressions

Lines Coverage ∆ File
2
79.48
-0.75% internal/fs/content_cache.go
1
83.38
0.34% internal/fs/upload_manager.go
Jobs
ID Job ID Ran Files Coverage
1 31945758111.1 16 Aug 2026 12:02PM UTC 43
77.41
GitHub Action Run
Source Files on build 31945758111
  • Tree
  • List 43
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • ee72d06a on github
  • Prev Build on main (#31942547049)
  • Next Build on main (#31949858667)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc