fix: bring example-client-app to holochain 0.6.1-rc.7 so it builds again - #14
Open
zippy wants to merge 1 commit into
Open
fix: bring example-client-app to holochain 0.6.1-rc.7 so it builds again#14zippy wants to merge 1 commit into
zippy wants to merge 1 commit into
Conversation
The Build Apps CI job for example-client-app has failed on every PR since the hc 0.6 update (December 2025): the app's zome workspace still pinned hdk 0.6.0 / hdi 0.7.0 / holochain_serialized_bytes 0.0.56 (serde =1.0.219), which cannot co-resolve with holochain_conductor_api 0.6.1-rc.7 (via the path deps into crates/) pinning holochain_serialized_bytes =0.0.57 (serde =1.0.228). Its Cargo.lock was still from the 0.5 era (conductor_api 0.5.4), so every build re-resolved and hit the conflict. - Pin hdk =0.6.1-rc.5 / hdi =0.7.1-rc.5 / hsb 0.0.57 — the exact versions the parent workspace's Cargo.lock resolves for holochain 0.6.1-rc.7, so the zome wasm matches the conductor the service ships. - Regenerate the app Cargo.lock, downgrading every floating holochain-family crate (zome_types, integrity_types, sqlite, holo_hash, mr_bundle, ...) to the parent lock's versions: zero drift between the two lockfiles in the holochain family. - Add .cargo/config.toml with getrandom_backend="custom" for wasm32-unknown-unknown: hdk/hdi >= 0.6.1 depend on getrandom 0.3, which refuses that target without a configured backend; the hdk provides the custom one (conductor random_bytes host fn). Same config hc-scaffold generates. Unignore .cargo/config.toml (the blanket /.cargo/ ignore was hiding it). - Fix main.rs: the bin called tauri_app_lib::run() but the lib target is forum_tauri_lib (rename never propagated; unnoticed because tauri android build only compiles the lib). Also drop the WEBKIT_DISABLE_COMPOSITING_MODE workaround — a no-op since webkitgtk 2.46. Verified in the dev shell: zome wasm builds, hc app pack produces forum.happ, and cargo ndk -t x86_64 check -p forum-tauri passes.
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.
Why
The
Build apps (example-client-app)CI job has failed on every PR since the hc 0.6 update landed in December 2025. The app's zome workspace was never brought along to 0.6: it still pinnedhdk 0.6.0/hdi 0.7.0/holochain_serialized_bytes 0.0.56(which pinsserde =1.0.219), while the path-dep chain throughcrates/tauri-plugin-client→runtime-types-ffipullsholochain_conductor_api 0.6.1-rc.7, which pins hsb=0.0.57(serde =1.0.228). Two exact serde pins in one graph →failed to select a version for serde, unconditionally. The app'sCargo.lockwas still from the 0.5 era (conductor_api 0.5.4), so every build re-resolved and hit the wall.What
All changes under
apps/example-client-app/:hdk =0.6.1-rc.5/hdi =0.7.1-rc.5/holochain_serialized_bytes 0.0.57— the exact versions the parent workspace's Cargo.lock resolves for holochain 0.6.1-rc.7, so the zome wasm matches the conductor the service ships.zome_types,integrity_types,sqlite,holo_hash,mr_bundle,nonce,timestamp, …) aligned to the parent lock's versions — zero holochain-family drift between the two lockfiles.getrandom_backend=\"custom\"rustflag for wasm32 — hdk/hdi ≥ 0.6.1 depend on getrandom 0.3, which refuseswasm32-unknown-unknownwithout a configured backend; the hdk provides the custom one (conductorrandom_byteshost fn). Same confighc-scaffoldgenerates for new hApps./.cargo/ignore would have silently excluded that config; narrowed to/.cargo/*+!/.cargo/config.toml.tauri_app_lib::run()but the lib target isforum_tauri_lib— a rename that never propagated, invisible to CI becausetauri android buildonly compiles the lib. Also drops theWEBKIT_DISABLE_COMPOSITING_MODEworkaround (a no-op since webkitgtk 2.46).Base branch
Stacked on #13 (
chore/self-contained-dev-shell): the fresh resolution pulls edition2024 manifests that need cargo ≥ 1.85, which #13's rust 1.88 toolchain provides (main's stalerust-toolchain.tomlsaid 1.81). GitHub will retarget this PR tomainautomatically when #13 merges.Verification (in the #13 dev shell)
cargo build --release --target wasm32-unknown-unknown --workspace --exclude forum-tauri— zomes buildhc app pack workdir --recursive—forum.happproducedcargo ndk -t x86_64 check -p forum-tauri— exit 0 (the compile path the failing CI job exercises)Note: a host-side
cargo check -p forum-taurican never pass by design — the client plugin is#![cfg(mobile)].