Skip to content
edgesync Today In History
Login

Today In History

This Day In History For 2027-05-13

1 Year Ago (more context)

2026-05-13
21:04 • Edit [0fa13d595b]: Add tag "v0.0.19" with note "v0.0.19 — wasm-friendly driver registration + busy_timeout fix transitive

- #168: bump libfossil/db/driver/modernc to v0.2.0 — picks up the _txlock=immediate DSN fix from libfossil#33 so concurrent writers serialize at BEGIN where busy_timeout applies, rather than racing the SHARED→RESERVED upgrade. - #169: gate hub/driver.go on //go:build !js && !wasm — native builds still auto-register modernc; wasm consumers (now possible at all) register their own driver.

Together these complete the abstraction-leak cleanup arc started by v0.0.18: consumers can import EdgeSync's hub without knowing about libfossil's SQL driver, native builds work transparently, wasm builds compile cleanly, and the contention fix is transitively available.". artifact: 4d543c6323 user: 41898282+github-actions[bot]@users.noreply.github.com

21:03
fix: exclude modernc driver registration from wasm builds (#169)

The init()-based modernc registration added in #166 (v0.0.18) blocked wasm builds because modernc references syscalls unavailable under js/wasm. Adds a //go:build !js && !wasm constraint to hub/driver.go so the registration is skipped on wasm targets — wasm consumers register their own driver (libfossil's ncruces driver supports wasm via its ncruces_js.go file).

Native builds are unchanged: hub still auto-registers modernc. Wasm builds: hub package now compiles successfully under GOOS=js GOARCH=wasm; consumer brings its own driver.

Verified: GOOS=js GOARCH=wasm go vet ./hub/... # clean GOOS=js GOARCH=wasm go build ./hub/... # success go test ./hub/... -timeout 120s # 38/38 pass on native

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> check-in: 0fa13d595b user: [email protected] tags: trunk, v0.0.19

21:03 • Edit [0fa13d595b]: Add tag "v0.0.19". artifact: 5ded51f178 user: [email protected]
20:49
chore: bump modernc driver to v0.2.0 (#168)

Picks up the _txlock=immediate DSN fix from libfossil#33/#34 so concurrent writers serialize at BEGIN (where busy_timeout applies) instead of racing the SHARED→RESERVED upgrade.

Required upstream for sesh's --scope=project mode to remain safe after sesh drops its direct libfossil/db/driver/modernc require. Without this bump, EdgeSync's hub init() (added in v0.0.18) would register a pre-fix driver and consumers regress on contention.

Closes #167.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> check-in: d5a46f76de user: [email protected] tags: trunk

20:27 • Edit [754914fd82]: Add tag "v0.0.18" with note "v0.0.18 — hub auto-registers libfossil SQL driver

Closes a dependency-abstraction leak. Previously consumers had to blank-import github.com/danmestas/libfossil/db/driver/modernc to satisfy libfossil's SQL driver registration. Now hub's init() handles it internally — consumers import EdgeSync's hub package and get the default modernc driver registered for free.

Consumer-visible behavior change: modernc is now registered automatically on any import of github.com/danmestas/EdgeSync/hub. To use a different driver (e.g. ncruces), an escape hatch can be added later — no consumer needs it today.". artifact: 7dfff3a990 user: 41898282+github-actions[bot]@users.noreply.github.com

20:27
refactor(hub): register modernc SQL driver internally (#166)

The hub package promised consumers wouldn't need to import libfossil directly, but they still had to blank-import libfossil's SQL driver to satisfy the underlying db layer's registration requirement. Move the blank import into hub itself (hub/driver.go) so the package fulfills its own dependency.

Consumers like sesh can now reduce their main.go to a plain `import "github.com/danmestas/EdgeSync/hub"` (or whatever wrapper they use) without taking a direct dep on libfossil's internal SQL machinery.

modernc is registered as the production default. If a consumer ever needs ncruces (WASM/WASI), an escape hatch can be added then.

Tests in hub/ drop their now-redundant blank imports.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> check-in: 754914fd82 user: [email protected] tags: trunk, v0.0.18

20:27 • Edit [754914fd82]: Add tag "v0.0.18". artifact: a53427a963 user: [email protected]
00:13
refactor(agent): drop mergeWithParent now that libfossil v0.6.2 ships the fix (#165)

libfossil#30 / EdgeSync#163 shipped consumer-side and upstream respectively. With libfossil v0.6.2 (PR #32, commit e6d34fb), Repo.Commit merges parent F-cards with supplied Files internally when ParentID > 0 — the exact behavior agent.mergeWithParent was emulating. Drop the duplicate.

Repo policy (CLAUDE.md "Upstream-fix policy") is unambiguous: when a fix lands in a repo we own, the workaround in the consuming repo should be removed, not left as defense-in-depth. libfossil is ours; a regression there gets fixed there.

Bumps: - root go.mod: v0.6.1 → v0.6.2 - leaf/go.mod: v0.5.0 → v0.6.2 (was lagging; auto-bump workflow has been failing per #146/#158) - bridge/go.mod: v0.5.0 → v0.6.2 (same)

Keeps the regression tests TestAgent_Commit_PreservesParentFiles and TestAgent_Commit_SuppliedFileOverridesParent — they assert behavior, not implementation, and now serve as integration coverage so any future libfossil regression on full-tree manifest emission surfaces in EdgeSync CI too.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> check-in: fabb4e3453 user: [email protected] tags: trunk