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

FROSADO / onecloudriver
78%

Build:
DEFAULT BRANCH: main
Repo Added 07 Aug 2026 08:37AM UTC
Files 47
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

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • docs-contributing-pr-template
  • issue-10-reuse-graph-client
  • issue-101-root-level-delta
  • issue-14-upload-retries-survive-outage
  • issue-15-delta-preserve-local-changes
  • issue-16-if-match-upload
  • issue-17-align-offline-docs
  • issue-20-fix-rpm-license
  • issue-22-remove-account-cache-path
  • issue-26-emoji-rule-contributing
  • issue-28-shell-ascii-fallback
  • issue-29-symbol-table
  • issue-3-extract-account-helper
  • issue-32-quickxorhash
  • issue-33-multipart-download-regression
  • issue-35-consolidate-uninstall
  • issue-36-agents-md
  • issue-4-build-resource-helper
  • issue-40-fix-systemd-tilde-mountpoint
  • issue-44-fix-packaging-unit-percent-escaping
  • issue-45-fix-execstart-binary-resolution
  • issue-47-doc-service-man-page
  • issue-50-consolidate-eviction
  • issue-53-fix-rpm-cpio-pattern
  • issue-6-split-service
  • issue-64-atomic-upload-snapshot
  • issue-67-serialize-dirty
  • issue-68-streaming-delta-apply
  • issue-69-zero-copy-upload
  • issue-7-emoji-fallback
  • issue-70-tune-http-transport
  • issue-72-bench-baseline
  • issue-73-manual-sync
  • issue-75-harden-boltdb-timeout
  • issue-78-coverage-integration
  • issue-8-add-yaml-output-support
  • issue-81-release-v0.1.3
  • issue-83-rename-local-file
  • issue-85-session-only-cache-dir
  • issue-87-fix-empty-flush-upload
  • issue-9-standardize-flag-validation
  • main
  • no-issue-update-make-doc
  • report-coverage

17 Aug 2026 11:32PM UTC coverage: 78.311% (+0.1%) from 78.169%
32080850087

push

github

web-flow
fix(fs): apply root-level delta changes (canonicalize the drive root ID) (#102)

* fix(fs): apply root-level delta changes (canonicalize the drive root ID)

Graph delta items reference the drive root by its real item ID (e.g.
"DF54...!sea8cc...") in parentReference, while the InodeCache stores the root
inode under graph.RootID ("root"). applyDelta's parent lookup therefore
missed and root-level changes (create/edit/delete/rename at the drive root)
were silently skipped as "parent not in cache" — in the mount's delta loop
and in the manual `onecloudriver sync` command (#73).

- delta.go: new resolveParentID maps the real root ID to "root" for the
  cache lookup. The real ID is learned at most once from (a) the delta root
  item itself when present in the cycle (free, no network), or (b) a lazy
  GetItem(root) on the first parent miss (sync.Once, fails gracefully, at
  most one extra call per DeltaSync lifetime) — so cycles carrying only a
  root-level edit (no root item) also apply.
- The delta root item now also refreshes the cached root's folder metadata
  (childCount) and persists it as dirty.
- Tests: applyDelta root-level new item (ID learned from the root item),
  root-level content change (ID learned via lazy GetItem), and an end-to-end
  pollAndApply cycle [root item, root-level file] (the #73 scenario). The
  BoundedMemory mock is now path-aware so the lazy GetItem
  (/me/drive/root) answers 404 without consuming a delta page slot. All
  three fail against the pre-fix code.

Closes #101

* test(fs): fix unsigned underflow in BoundedMemory heap measurement

Under -count=N -race the process heap can carry leftovers from previous
iterations, so the mid-sync peak can read lower than the baseline sampled
before it; peak - baseline then underflows to a gigantic uint64 and fails
spuriously. Use saturating subtraction. Caught by the Stress CI job
(race x10).

37 of 37 new or added lines in 1 file covered. (100.0%)

2 existing lines in 1 file now uncovered.

4459 of 5694 relevant lines covered (78.31%)

3461.64 hits per line

Relevant lines Covered
Build:
Build:
5694 RELEVANT LINES 4459 COVERED LINES
3461.64 HITS PER LINE
Source Files on main
  • Tree
  • List 47
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
32080850087 main fix(fs): apply root-level delta changes (canonicalize the drive root ID) (#102) * fix(fs): apply root-level delta changes (canonicalize the drive root ID) Graph delta items reference the drive root by its real item ID (e.g. "DF54...!sea8cc...") ... push 17 Aug 2026 11:36PM UTC web-flow github
78.31
32080329087 issue-101-root-level-delta test(fs): fix unsigned underflow in BoundedMemory heap measurement Under -count=N -race the process heap can carry leftovers from previous iterations, so the mid-sync peak can read lower than the baseline sampled before it; peak - baseline then u... Pull #102 17 Aug 2026 11:29PM UTC FROSADO github
78.28
32079609151 issue-101-root-level-delta fix(fs): apply root-level delta changes (canonicalize the drive root ID) Graph delta items reference the drive root by its real item ID (e.g. "DF54...!sea8cc...") in parentReference, while the InodeCache stores the root inode under graph.RootID (... Pull #102 17 Aug 2026 11:19PM UTC FROSADO github
78.28
32078980380 main feat(cli): add manual sync command (onecloudriver sync) (#100) Adds a one-shot delta poll independent of the mount's background interval: `onecloudriver sync` resolves the account, opens its persisted cache (BoltDB + content) read/write, runs a s... push 17 Aug 2026 11:10PM UTC web-flow github
78.17
32078345928 issue-73-manual-sync feat(cli): add manual sync command (onecloudriver sync) Adds a one-shot delta poll independent of the mount's background interval: `onecloudriver sync` resolves the account, opens its persisted cache (BoltDB + content) read/write, runs a single d... Pull #100 17 Aug 2026 11:03PM UTC FROSADO github
78.17
32005239988 main perf(fs): streaming delta apply with bounded memory (issue #68) (#99) pollAndApply previously accumulated every delta item into a map across all pages before applying anything, and only persisted the delta link after the whole cycle succeeded. No... push 17 Aug 2026 07:23AM UTC web-flow github
78.26
32004617918 issue-68-streaming-delta-apply perf(fs): streaming delta apply with bounded memory (issue #68) pollAndApply previously accumulated every delta item into a map across all pages before applying anything, and only persisted the delta link after the whole cycle succeeded. Now each... Pull #99 17 Aug 2026 07:15AM UTC FROSADO github
78.26
32003754766 main test(graph): regression test for exact-multiple-of-chunk downloads (#98) Locks in the correct multipart loop behavior (ceil(size/chunk) trips, end clamped to size-1) for files whose size is an exact multiple of the 10 MiB chunk size, so the onedr... push 17 Aug 2026 07:02AM UTC web-flow github
77.99
32003264200 issue-33-multipart-download-regression test(graph): regression test for exact-multiple-of-chunk downloads Locks in the correct multipart loop behavior (ceil(size/chunk) trips, end clamped to size-1) for files whose size is an exact multiple of the 10 MiB chunk size, so the onedriver #... Pull #98 17 Aug 2026 06:54AM UTC FROSADO github
77.99
31978619249 main feat(fs): dirty inode tracking -> SerializeDirty (cut BoltDB writes >=99%) (#97) * feat(fs): dirty inode tracking -> SerializeDirty (cut BoltDB writes >=99%) SerializeAll rewrote the whole browsed tree to BoltDB on every delta poll (5 min) and o... push 16 Aug 2026 11:19PM UTC web-flow github
77.99
See All Builds (112)
  • Repo on GitHub
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