Conversation
Upgrade mewsfeed from Holochain 0.4.1 to 0.6, including HDK/HDI API changes, manifest updates, and dependency upgrades. Rust changes: - Update HDK to 0.6.0, HDI to 0.7.0 - Change agent_latest_pubkey to agent_initial_pubkey - Add GetOptions parameter to all delete_link calls - Change get_link_details to get_links_details - Update profiles/elements libraries to 0.600.0 branch - Add hc_zome_input crate for local/network optionality UI changes: - Update @holochain/client to 0.20.0 - Update @holochain-open-dev/profiles to 0.600.0 - Update @shoelace-style/shoelace to 2.20.0 - Add wrapInput() helper for zome calls with local/network option - Add networkMode store for global local/network preference - Update all zome calls to use wrapInput() Manifest changes: - Update manifest_version from "1" to "0" - Rename bundled to path in DNA/hApp manifests Nix changes: - Update holonix ref to main-0.6 - Update to nodejs_22 Known issues: - Profile dialog CSS styling not working correctly with profiles-context web component (buttons/inputs appear unstyled)
Shoelace 2.20.x causes DaisyUI component styles to not apply correctly inside profiles-context web component slots. Pinning to 2.11.0 resolves the issue with profile dialog form styling (inputs, buttons). Uses npm overrides to ensure all dependencies use the pinned version.
…send button feedback - Guard refetch calls in DiscoverCreators and RandomMewWithTagList to prevent calling get_batch_mews_with_context with null input - Wrap reactive proxy with toRaw() in RandomMewWithTagList to fix structuredClone error - Bump @holochain-open-dev/profiles to 0.601.3 (fixes AgentAvatar undefined .status) - Add loading spinner to Send Mew button during publish - Fix TypeScript error for profiles store subscription
Add FishyAppClient support for zero-arc browser extension nodes: - Add @zippy/fishy-client dependency - Create fishy/ module with ZeroArcProfilesClient - Detect fishy extension in client.ts setup - Use ZeroArcProfilesClient for profiles when running as fishy - Force local:false in zomeCall wrapInput/getLocalOption for fishy - Add __GATEWAY_URL__ vite define
Three calls in AgentProfile.vue incorrectly passed route.params.agentPubKey (a base64 string) instead of agentPubKey.value (decoded Uint8Array) to wrapInput(): get_joining_timestamp_for_agent, count_creators_for_follower, count_followers_for_creator.
… of stores Vue's ref() deeply wraps objects in reactive Proxies. The ProfilesStore contains a LazyHoloHashMap (from @holochain/client@0.20.4-rc.0) which uses HoloHashB64Map (extends Map) internally. When Lit's StoreSubscriber called store.profiles.get(agentPubKey) through Vue's reactive proxy, the proxy trap chain broke LazyHoloHashMap's internal method dispatch, causing get() to return undefined instead of creating and returning the lazy-fetched profile store. This meant the subscriber never subscribed, and agent-avatar rendered as a permanent gray skeleton for all remote agents. The fix uses shallowRef() instead of ref() for profilesStore and client in App.vue. shallowRef only tracks .value assignment without deeply proxying the inner object, so Lit web components receive the raw ProfilesStore with a working LazyHoloHashMap. Additional changes: - BaseSiteMenu: explicitly pass :store prop to agent-avatar and inject profilesStore (previously relied solely on Lit context propagation) - BaseAgentProfileLinkAvatar: add v-if="profilesStore" guard to prevent rendering before store is available - Upgrade @holochain-open-dev/profiles to 0.601.3 which adds a null guard in AgentAvatar.render to prevent crash on undefined store value
- Switch from @zippy/fishy-client to @holo-host/web-conductor-client - Rename ui/src/fishy/ directory to ui/src/hwc/ - FishyAppClient -> WebConductorAppClient - waitForFishy -> waitForHolochain, isFishy -> isWebConductor - IS_FISHY -> IS_HWC, gatewayUrl -> linkerUrl - __GATEWAY_URL__ -> __LINKER_URL__ build constant
Remove @holo-host/web-sdk (old Chaperone-based Holo hosting) and wire up the joining service from HWC's feat/joining-client branch. When the JOINING_SERVICE_URL env var is set at build time, WebConductorAppClient will use it to join via the service (obtaining linker URLs, membrane proofs, and hApp bundle). When unset, the existing direct-linker flow is used unchanged. - Remove setupHolo(), IS_HOLO_HOSTED, WebSdkApi imports, start:holo script - Add @holo-host/joining-service dependency - Re-export JoiningClient, JoiningError, GatewayProxy from hwc/index.ts - Add __JOINING_SERVICE_URL__ vite define - Clean up env.d.ts (remove VITE_IS_HOLO_HOSTED, VITE_CHAPERONE_SERVER_URL)
Wire onChallenge callback through setupHolochain to WebConductorAppClient so the joining service can present verification challenges (email code, invite code, etc.) to the user via a modal dialog.
Add deploy/ directory with orchestration script for full end-to-end mewsfeed deployment: UI on Cloudflare Pages, joining service on Cloudflare Worker (invite_code auth), linker with white_list auth tunneled via ngrok, and two always-on conductors. - deploy.sh: subcommands for setup, build, deploy-cloud, start-local, stop-local, seed-kv, status, all - Cloudflare worker entry with KvUrlProvider wired up for linker URL resolution from Workers KV - Config template with all deployment parameters - Replace outdated Holo Hosting README section with link to DEPLOY.md
…nnel support - Add JoiningClaimsDialog to collect invite codes before joining - Update App.vue with HWC extension detection gate and claims flow - Overhaul NetworkInfo to show linker connection status (HTTP/WS/Auth) - Switch web-conductor-client to joining-client package - Replace ngrok with cloudflared as default tunnel provider - Add restart-tunnel command and conductor already-running check - Convert wrangler.toml to wrangler.example.toml template (gitignored) - Fix wrangler CLI v3 syntax and add workers subdomain config
Prevent UI components from flooding the conductor with zome calls before cells are confirmed responsive. Adds a cellsReady composable that gates all TanStack Query calls via the enabled option, showing skeletons until the ping check succeeds. NetworkInfo is now visible immediately without waiting for cells.
Add start:hwc and start:hwc:joining npm scripts for local HWC browser extension development. Includes local-dev.sh orchestration script that starts local bootstrap/relay, conductors, and linker. Fix web-conductor client dependency path and add linkerUrl query param support for direct connections.
Replace JoiningClaimsDialog.vue and JoiningChallengeDialog.vue with connectWithJoiningUI() from @holo-host/web-conductor-client/ui, which uses Shoelace-styled Lit web components from @holo-host/joining-service. - Remove 290 lines of Vue dialog code - Simplify App.vue setup (no more manual claims retry logic) - Switch tsconfig moduleResolution to "bundler" for exports map support - Add lit as dependency (peer dep of joining-service UI components)
Add LOCAL_DEV_CONFIG_FILE env var to local-dev.sh so a custom joining-service config JSON can be passed directly, skipping the auto-generated config from env vars. Resolves relative paths to absolute before passing to the joining service subprocess. Also add a sample config (local-dev.config.example.json) for email_code auth with SendGrid + hc_auth.
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.
Updates to Holochain 0.6.0, includes pinning shoelace to make it work with old UI.