app

Local-first trade for farms and co-ops
git clone https://radroots.dev/git/app.git
Log | Files | Refs | README | LICENSE

commit 7bc5a312248ea985861e342e6dc0e70ab1f50ccf
parent a8d9f9114b73872f605679cc31cd8420786f512f
Author: triesap <tyson@radroots.org>
Date:   Wed, 15 Jul 2026 02:12:14 +0000

sqlite: align app bundled runtime

- update Studio rusqlite usage to 0.39 through the workspace dependency
- patch libsqlite3-sys to the shared SQLite 3.53.3 source crate
- keep the store crate on the workspace-owned SQLite dependency surface
- refresh the app lockfile against the new runtime dependency floor

Diffstat:
MCargo.lock | 110+++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
MCargo.toml | 3++-
Mcrates/store/Cargo.toml | 2+-
3 files changed, 77 insertions(+), 38 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -2042,6 +2042,17 @@ dependencies = [ ] [[package]] +name = "flume" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2054,6 +2065,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] name = "font-types" version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2478,7 +2495,7 @@ dependencies = [ "embed-resource", "etagere", "filedescriptor", - "flume", + "flume 0.11.1", "foreign-types", "futures", "gpui-macros", @@ -2820,9 +2837,18 @@ version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ "allocator-api2", "equivalent", - "foldhash", + "foldhash 0.2.0", ] [[package]] @@ -2842,20 +2868,11 @@ dependencies = [ [[package]] name = "hashlink" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "hashlink" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +checksum = "824e001ac4f3012dd16a264bec811403a67ca9deb6c102fc5049b32c4574b35f" dependencies = [ - "hashbrown 0.15.5", + "hashbrown 0.16.1", ] [[package]] @@ -3562,9 +3579,7 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +version = "0.37.0" dependencies = [ "cc", "pkg-config", @@ -5929,17 +5944,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" [[package]] +name = "rsqlite-vfs" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51c9ae4df8a7fba42103df5c621fa3c37eccf3a3c650879e90fc48b11cc192c" +dependencies = [ + "hashbrown 0.16.1", + "thiserror 2.0.18", +] + +[[package]] name = "rusqlite" -version = "0.32.1" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e" +checksum = "a0d2b0146dd9661bf67bb107c0bb2a55064d556eeb3fc314151b957f313bcd4e" dependencies = [ "bitflags 2.11.1", "fallible-iterator", "fallible-streaming-iterator", - "hashlink 0.9.1", + "hashlink 0.11.1", "libsqlite3-sys", "smallvec", + "sqlite-wasm-rs", ] [[package]] @@ -6700,10 +6726,22 @@ dependencies = [ ] [[package]] +name = "sqlite-wasm-rs" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc3efc0da82635d7e1ced0053bbbfa8c7ab9645d0bf36ceb4f7127bb85315d75" +dependencies = [ + "cc", + "js-sys", + "rsqlite-vfs", + "wasm-bindgen", +] + +[[package]] name = "sqlx" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" +checksum = "378620ccc25c62c89d8be1c819e76a88d59bdcc3304733330788948e619bfd71" dependencies = [ "sqlx-core", "sqlx-macros", @@ -6712,12 +6750,13 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" +checksum = "05b44e85bf579a8eeb4ceaa77a3a523baf2bf0e9bac7e40f405d537b5d2d5ccb" dependencies = [ "base64 0.22.1", "bytes", + "cfg-if", "crc", "crossbeam-queue", "either", @@ -6726,12 +6765,11 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.15.5", - "hashlink 0.10.0", + "hashbrown 0.16.1", + "hashlink 0.11.1", "indexmap", "log", "memchr", - "once_cell", "percent-encoding", "serde", "sha2", @@ -6745,9 +6783,9 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" +checksum = "bd2b84f2bc39a5705ef27ec785a11c934a41bbd4a24941e257927cddc26b60bf" dependencies = [ "proc-macro2", "quote", @@ -6758,15 +6796,15 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" +checksum = "fb8d96de5fdc85a5c4ec813432b523ec637e80ba98f046555f75f7908ddac7c3" dependencies = [ + "cfg-if", "dotenvy", "either", "heck 0.5.0", "hex", - "once_cell", "proc-macro2", "quote", "serde", @@ -6781,12 +6819,13 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" +checksum = "488e99c397a62007e4229aec669a179816339afc6d2620ca6fa420dbee2e982c" dependencies = [ "atoi", - "flume", + "flume 0.12.0", + "form_urlencoded", "futures-channel", "futures-core", "futures-executor", @@ -6796,7 +6835,6 @@ dependencies = [ "log", "percent-encoding", "serde", - "serde_urlencoded", "sqlx-core", "thiserror 2.0.18", "tracing", diff --git a/Cargo.toml b/Cargo.toml @@ -54,7 +54,7 @@ radroots_studio_app_sqlite = { path = "crates/store", version = "0.1.0" } radroots_studio_app_state = { path = "crates/state", version = "0.1.0" } radroots_studio_app_sync = { path = "crates/sync", version = "0.1.0" } radroots_studio_app_ui = { path = "crates/ui", version = "0.1.0" } -rusqlite = { version = "0.32.1", features = ["bundled"] } +rusqlite = { version = "0.39.0", features = ["bundled"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" thiserror = "2" @@ -71,3 +71,4 @@ unsafe_code = "forbid" [patch.crates-io] block = { path = "vendor/block" } +libsqlite3-sys = { path = "../lib/crates/libsqlite3_sys_3_53_3" } diff --git a/crates/store/Cargo.toml b/crates/store/Cargo.toml @@ -17,7 +17,7 @@ radroots_studio_app_view.workspace = true radroots_studio_app_sync.workspace = true radroots_sql_core.workspace = true radroots_trade.workspace = true -rusqlite = { version = "0.32.1", features = ["bundled"] } +rusqlite = { workspace = true } serde_json.workspace = true thiserror.workspace = true uuid.workspace = true