sync-wasm connect() fails with 'unexpected path .db-log: files must be created in advance for OPFS IO'
Fixes @tursodatabase/sync-wasm connect() failing with 'unexpected path .db-log: files must be created in advance for OPFS IO'. Use this on 0.7.2 through 0.8.0-pre.7 against a hosted Turso database negotiating MVCC sync. Not for non-MVCC sync or for local-only databases.
TL;DR: if @tursodatabase/sync-wasm connect() rejects with unexpected path fresh-[id].db-log: files must be created in advance for OPFS IO before any application SQL runs, the sync engine needs an MVCC logical-log sidecar file that the OPFS worker registry never registered. Use 0.8.0-pre.9 or newer, where PR #8524 registers the MVCC log path before connecting. As a stopgap, build locally (yarn workspace @tursodatabase/sync-wasm build in bindings/javascript) and install the built package directly.
Internal error: unexpected path fresh-[id].db-log: files must be created in advance for OPFS IOSteps
- Upgrade:
npm install @tursodatabase/sync-wasm@^0.8.0-pre.9Expected: the installed build includes PR #8524.
Re-run
connect()against the hosted database.Expected: the connection proceeds to sync. Success check: application SQL runs without the db-log error.
When to use this
- sync-wasm 0.7.2 through 0.8.0-pre.7, hosted Turso database negotiating MVCC sync.
- The error names a
.db-logpath.
When NOT to use this
- Non-MVCC sync setups; the sidecar requirement is MVCC-specific.
- Local-only databases; OPFS registration is about the sync path.
Compatibility
- @tursodatabase/sync-wasm 0.8.0-pre.9+. The maintainer re-tagged main to push it to npm after the pre.8 release job failed.
Variant phrasings
- "sync-wasm connect db-log OPFS"
- "turso sync-wasm MVCC unexpected path"
Root cause
The JavaScript OPFS worker registry registered the main db, -wal, -wal-revert, -info, and -changes paths but not the MVCC log sidecar, so the sync engine's first access to it was rejected.
Edge cases
- The local-build stopgap works but you lose npm updates; prefer the fixed release.
Source: https://github.com/tursodatabase/turso/issues/8516