Pin SQLDelight and sql.js in Renovate (split/transitive version pins) - #30
Merged
Conversation
The `sqldelight` version.ref is deliberately held at whatever com.apollographql.cache:normalized-cache-sqlite depends on (2.1.0 for cache 1.0.7), not the latest: the web-worker-driver and the hand-written SQL.js worker's message protocol must agree with it. Renovate can't see that transitive pin, so it keeps opening PRs that float SQLDelight ahead of Apollo's cache. Disable app.cash.sqldelight:* so it's bumped by hand alongside the cache, mirroring the dataresult rule. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 task
sql.js's version lives in two spots that must agree: the npm("sql.js")
call in network/build.gradle.kts (which supplies the copied
sql-wasm.wasm) and the worker's package.json (its JS glue). Renovate
only sees the package.json half, so its bump (PR #28) left the glue at
1.14.2 against a 1.8.0 wasm -- initSqlJs() then hangs forever and the
web app shows a permanent spinner. Disable sql.js so it is bumped by
hand, in both places, with a web smoke test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to the Renovate config added in #26. Disables two dependencies whose real version pin
Renovate can't fully see, so it stops opening PRs that half-update them and break the build.
SQLDelight (
app.cash.sqldelight:*)The
sqldelightversion.ref is deliberately held at whatevercom.apollographql.cache:normalized-cache-sqlitedepends on — 2.1.0 for cache1.0.7(verifiedagainst Apollo's published Gradle metadata:
runtime,async-extensions,native-driverallrequires 2.1.0) — not the latest. Theweb-worker-driverand the hand-written SQL.js worker'smessage protocol both have to agree with it, and neither mismatch is caught at compile time. Renovate
can't see that transitive pin, so it keeps floating SQLDelight ahead of Apollo's cache (#27).
sql.js
sql.js's version is declared in two places that must match:
npm("sql.js", …)innetwork/build.gradle.kts— the copy step ships this version'ssql-wasm.wasmas/sql-wasm.wasm.network/npm/countries-sqljs-idb-worker/package.json— the version the worker'simport 'sql.js'(its JS glue) resolves to.
Renovate only reads the
package.json, so its bump (#28) left the worker on 1.14.2 glue against a1.8.0 wasm. Emscripten glue and its
.wasmmust be the same build; the mismatch makesinitSqlJs()never resolve, the worker never replies, and the web app shows a permanent spinner —silently, since
initSqlJssits outside the worker's try/catch. Both js and wasmJs hit it.Disabling both mirrors the existing
io.github.solcottdataresult rule: they're bumped by hand, inall their declaration sites, with a web smoke test.
🤖 Generated with Claude Code