fix(mesh): radio tools ship via OTA + ISO; transport flag gated on daemon support
v1.7.117 broke Reticulum mesh on OTA-only fleet nodes two ways: the update swaps only the backend binary and frontend tarball, so nodes kept a stale archy-reticulum-daemon whose argparse exits on the new --enable-transport flag (mesh session died on every spawn — confirmed on framework-pt), and they never had archy-rnodeconf at all, so the in-app Flash LoRa flow failed with a bare "No such file or directory". Four-part fix: - The Rust supervisor probes `daemon --help` and only passes --enable-transport when the daemon advertises it; unsupported daemons run edge-only exactly as pre-1.7.117 (tested against stub daemons both ways + missing-binary fail-safe). - Both PyInstaller tools ride the frontend tarball's runtime payload (radio-tools/) and bootstrap.rs promotes them to /usr/local/bin on startup when bytes differ — the first OTA path that ever updates them. create-release.sh now rebuilds them every release and the manifest script hard-fails if they're missing. - The ISO bundles archy-rnodeconf alongside the daemon (it never did). - Flash LoRa reports "tool not installed — update the node" instead of the bare spawn error when rnodeconf is absent everywhere. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
04c056acdb
commit
500aebb3e2
@@ -167,6 +167,16 @@ if ! grep -rqo "${VERSION}" "$PROJECT_ROOT"/web/dist/neode-ui/assets/*.js; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "[4b/8] Building packaged radio tools (archy-reticulum-daemon, archy-rnodeconf)..."
|
||||
# These ride the frontend tarball's runtime payload (radio-tools/) and are
|
||||
# promoted to /usr/local/bin by bootstrap.rs — the ONLY path that updates them
|
||||
# on OTA-only nodes. Stale-dist releases re-broke fleet mesh once (v1.7.117),
|
||||
# so always rebuild here; the manifest script hard-fails if they're missing.
|
||||
(cd "$PROJECT_ROOT/reticulum-daemon" && ./build.sh) || {
|
||||
echo "Error: reticulum-daemon/build.sh failed — radio tools are release-critical" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "[5/8] Validating curated changelog..."
|
||||
|
||||
CHANGELOG_FILE="$PROJECT_ROOT/CHANGELOG.md"
|
||||
|
||||
Reference in New Issue
Block a user