deps: repin MyOwnMesh to v0.3.2 + cut 0.2.48#195
Merged
Conversation
v0.3.2 is the handshake/admission hardening cut, and both halves of it
change behaviour the node engine depends on:
* The ed25519 auth handshake now folds the DTLS certificate fingerprint
into the signed payload (channel binding), so a signaling-path MITM
that swaps in its own fingerprint no longer survives mutual auth. The
signed payload changed, so a node built against this pin and a daemon
older than v0.3.2 do not agree on the handshake.
* Inbound frames are gated on peer admission (authenticated + Active/
Shelved). Application, RPC, reliable-delivery, governance, capability
and shelve frames are dropped before any state moves, and `Active` now
requires `authenticated`.
The AllMyStuff side of that boundary already landed here (PR #189 —
media-capture offers authorized, unsolicited `Claimed` guarded); this pin
moves the daemon under it so the stack is aligned.
Two pin sites, as always — only one is a .rev file:
* .myownmesh-rev — the bundled/managed daemon sidecar. node/build.rs
bakes it as MYOWNMESH_PIN for the runtime version gate (an older
daemon on the box is asked to self-update), and gui/src-tauri/build.rs
reads the same file to bundle the matching sidecar.
* gui/mobile/Cargo.toml — the mobile shell embeds myownmesh-core
in-process (iOS can't spawn the daemon), so it carries its own git
tags outside .rev; bumped in lockstep.
The v0.3.2 tag is already published upstream. gui/mobile/Cargo.lock is
left alone per repo convention — it refreshes on the next real mobile
build.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xdiiiYN3ThDwnuHfqQnEy
Version-only bump produced by `scripts/bump-version.sh 0.2.48` — the same edit `just release 0.2.48` makes before tagging (workspace + the three excluded sub-workspaces: gui/src-tauri, node, gui/mobile). Done here so v0.2.48 can be minted from this branch's merge: CEC Support pins the AllMyStuff sidecar and its three linked crates by tag, and release.yml's "verify tag matches manifest versions" gate fails unless the manifests already claim the version being tagged. Cutting the tag stays a maintainer step — `just release 0.2.48` after this merges is a no-op on the manifests and goes straight to tag + push. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019xdiiiYN3ThDwnuHfqQnEy
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.
Moves the daemon pin onto MyOwnMesh v0.3.2 and bumps the manifests to 0.2.48 so that tag can be minted — CEC Support pins this release by tag.
Why the daemon pin has to move
v0.3.2 is the handshake/admission hardening cut (MyOwnMesh #104), and both halves change behaviour the node engine sits on top of:
Activetransition now requiresauthenticated.The AllMyStuff side of that same boundary already landed here in #189 (media-capture offers authorized against consent grants, unsolicited
OwnershipControl::Claimedguarded). This pin moves the daemon under it so the stack is aligned.Changes
deps: repin MyOwnMesh to v0.3.2— the two pin sites, only one of which is a.revfile:.myownmesh-revnode/build.rsbakes it asMYOWNMESH_PINfor the runtime version gate (an older daemon on the box is asked to self-update);gui/src-tauri/build.rsreads the same file to bundle the matching sidecar.gui/mobile/Cargo.tomlmyownmesh-corein-process (iOS can't spawn the daemon), so it carries its own git tags outside.rev. Bumped in lockstep.chore(release): 0.2.48— version-only, produced byscripts/bump-version.sh 0.2.48: the workspace root plus the three excluded sub-workspaces (gui/src-tauri,node,gui/mobile) and their locks/package.json/tauri.conf.json. Diff is 32 identical0.2.47→0.2.48lines, the same shape as the v0.2.47 bump.Notes
v0.2.48is mintable —release.yml's "verify tag matches manifest versions" gate fails unless the manifests already claim the version being tagged. After this merges,just release 0.2.48is a no-op on the manifests and goes straight to tag + push.v0.3.2tag is already published upstream, so the mobile git deps resolve.gui/mobile/Cargo.lock'smyownmeshgit-source entry is left alone per repo convention (it was already atv0.3.0after the v0.3.1 repin) — it refreshes on the next real mobile build.cargo metadata --no-depsparses all four manifests and reports0.2.48.🤖 Generated with Claude Code
https://claude.ai/code/session_019xdiiiYN3ThDwnuHfqQnEy
Generated by Claude Code