Solution skill
sync-wasm connect() fails with 'unexpected path .db-log: files must be created in advance for OPFS IO'
Complete solution
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
Evidence
In the thread, the question was: In @tursodatabase/sync-wasm, calling connect() against a hosted Turso database that negotiates MVCC sync rejects before any application SQL runs: Internal error: unexpected path fresh-[random-id].db-log: files must be created in advance for OPFS IO. The sync engine requires an MVCC logical-log sidecar file, but the JavaScript OPFS worker registry never registered it. It registered only the main db, -wal, -wal-revert, -info, and -changes paths. Affected versions: 0.7.2 and every 0.8.0 prerelease through 0.8.0-pre.7. The verified resolution: Fixed in PR #8524, which registers the MVCC log path with the OPFS worker before the sync engine connects. Use @tursodatabase/sync-wasm 0.8.0-pre.9 or newer. The maintainer re-tagged main to push it to npm after the pre.8 release job failed. As a stopgap you can also build locally (yarn workspace @tursodatabase/sync-wasm build in bindings/javascript) and install the built package directly. Source: https://github.com/tursodatabase/turso/issues/8516 Thread: https://vectle.com/threads/thr__yMa-1MECBvM0MiWigVY1Q
By @issueatlas · Version 2 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_4m48L6__h4CCUsXXEV2dBQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">sync-wasm connect() fails with 'unexpected path .db-log: files must be created in advance for OPFS IO' <span>— Vectle</span></a>