Skip to content

History / Mesh Platform Support

Revisions

  • Mesh: a changed service definition is restarted by the relay script (launchd bootout, wait, bootstrap; systemd daemon-reload and restart); Windows keeps the printed Stop/Start pair (TASK-174)

    @Dark-Alex-17 Dark-Alex-17 committed Oct 17, 2026
  • docs(mesh): .mesh message, brief note, autostart notice (TASK-175)

    @Dark-Alex-17 Dark-Alex-17 committed Oct 16, 2026
  • docs(mesh): heartbeat slack; superseded means a stale row whose identity moved The heartbeat is hourly plus a minute of slack so the relay never counts one as early; the quoted relay config comment says so in the same six lines as the scripts. A superseded row is a stale row whose identity has since announced from another destination; two live instances under one identity are never marked.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 15, 2026
  • docs(mesh): heartbeat is hourly; peers legend and the stale/superseded markers Coyote announces hourly to match the Reticulum announce-rate default, so every twin of the old 15-minute figure moves: the peer-discovered throttle in Hooks, the walkthroughs and relay gotchas in Mesh-Deployment and Mesh-Platform-Support, the propagation-node deferral budget in Mesh and Mesh-Commands. The rnsd config quote carries the six comment lines the relay scripts now write. The .mesh peers sample shows the stale and superseded markers and ends with the legend the command prints; the prose explains both states. Brand-new peers appear within an hour; known peers are reachable at once.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 15, 2026
  • docs(mesh): qualify the restart reach to one-peer requests, say W1-off fails at the link stage, quote the route line

    @Dark-Alex-17 Dark-Alex-17 committed Oct 14, 2026
  • docs(mesh): a request to a known peer asks for a path before it is refused The relay gotcha said Coyote never requests a path and that a restarted node waits up to a heartbeat before it can reach a peer it already knew. A request to a trusted peer the transport has no route to now asks the network for a path and waits up to 5 s; the refusal, quoted on the status, knock and fetch entries, says the request went unanswered and that nothing was queued. The Windows walkthrough no longer waits for W1's heartbeat after W2 rejoins, and the Timers section names the wait and the status sweep that skips it.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 14, 2026
  • docs(mesh): the relay script follows rnsd's config-dir order, compares the rnsd version, and the macOS firewall pointer Mesh-Deployment: step 1 says a present rnsd is compared to the pinned version (older upgraded through its installer unless --keep-rnsd, newer kept with a warning), step 2 names the config-dir order the script now mirrors (/etc/reticulum, ~/.config/reticulum, ~/.reticulum) and the --config pin in the service definition, step 4 the readiness diagnostics; the flag table gains --keep-rnsd / -KeepRnsd. Mesh-Platform-Support: the macOS bullet names the "No multicast echoes received" symptom, where to allow Python (System Settings > Network > Firewall > Options) and that loopback-only nodes are unaffected; the Windows bullet names the .config\reticulum alternative.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 13, 2026
  • docs: Mesh Platform Support as a user walkthrough

    @Dark-Alex-17 Dark-Alex-17 committed Oct 12, 2026
  • docs(TASK-143): Mesh, Mesh-Deployment, Mesh-Platform-Support: the local rnsd is the default transport Mesh.md: the Which-setup decision tree under the SCOPE lead (rnsd on the host; one team lxmd for store-and-forward; running without rnsd), the private-first interfaces list, the connect idle line, the Pages row. Mesh-Deployment.md rebuilt around the per-host daemon: The ladder, Setting up rnsd (what scripts/mesh-relay.sh and .ps1 install, write and register, never overwriting an existing config; flags, exit codes, firewall sentence, root refusals, installer prompt), Joining with some interfaces down (the three WARNING shapes, the first interface's failure text, the loopback hint, retry and the connect idle line, the .mesh info rows), Running without rnsd, Two sessions on one host (shared identity and cache, peers.json and trust.yaml last-writer-wins, split dirs for two identities), propagation nodes as team relay and store-and-forward only. Mesh-Platform-Support.md: Running rnsd per platform (systemd unit, LaunchAgent, Scheduled Task, both firewall prompts) and the two-machine procedure on rnsd.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 10, 2026
  • docs(TASK-130): .mesh info counts every marked instance, a denied one included

    @Dark-Alex-17 Dark-Alex-17 committed Oct 7, 2026
  • docs(TASK-120): SCOPE name, file-sharing page, 27-verb layout, hooks 46, nine tools - Mesh.md leads with SCOPE - Session Coordination & Presence Exchange, the spec tagline and the reference-implementation sentence; destination derivation now scope.session.<instance_id>; nine mesh__* tools with the untrusted-content fence; envoy disposition table; [mesh:access] source; on-disk stores for shares, grants and the staging inbox; conformance section with the §20 pointer, Rust-only file-sharing vectors, interop 95 and the Windows exemption; single-segment fetch ceiling as a known gap. - New Mesh-File-Sharing.md: the share set (write rule, deny-wins, built-in deny, protected set, overrides), the three grant shapes, every file verb, the staging inbox, what a peer can and cannot learn, fenced fetched content, limits, notifications and hooks. - Mesh-Commands.md: the settled 27-verb table, untrust/forget refusal semantics, block remembers, sync replaces the LXMF-sync fetch, file verbs, --attach and --purge-files, TAB completion per verb, peer deny/undeny gone. - Mesh-Trust-Model.md: refusal vs forget vs block, the deny-only row and its remedy, hook silence, regular-files-only store writes. - Mesh-Configuration.md: about, fetch.inline_max_bytes, fetch.max_bytes, fetch.inbox_dir with their validation and the ceiling caveat; .mesh sync. - Hooks.md / Home.md: 46 events, mesh.fetch.served, mesh.access.requested, mesh.access.decided with their variables; Sidebar links the new page; Deployment and Platform Support refreshed.

    @Dark-Alex-17 Dark-Alex-17 committed Oct 5, 2026
  • docs(TASK-100): automatic propagation sync, .mesh fetch, .mesh knock and joining at REPL start Mesh-Commands gains the two verbs with what they print and refuse; Mesh-Configuration gains propagation_sync_interval_secs, the announce: false rule (no automatic sync, .mesh fetch still works), the one-year cap and what enabled: true does at REPL start; Mesh, Mesh-Trust-Model and Mesh-Deployment drop the not-yet caveats and describe the deferral window (three fetches and one peer heartbeat) and what a restart costs; Mesh-Platform-Support notes the no-session refusal in the manual procedure.

    @Dark-Alex-17 Dark-Alex-17 committed Sep 30, 2026
  • docs(TASK-097): keep the not-yet-executed marker on one line

    @Dark-Alex-17 Dark-Alex-17 committed Sep 30, 2026
  • docs(TASK-097): list identity.key.lock under the config dir and carry the enabled comment into the Windows procedure Mesh-Configuration.md: the Directories row for COYOTE_CONFIG_DIR now names mesh/identity.key.lock like the hub page does (src/mesh/identity.rs:127). Mesh-Platform-Support.md: the procedure's mesh: block carries the same 'validated at load; the node still joins with .mesh on' comment as the other two recipes (ruling R1).

    @Dark-Alex-17 Dark-Alex-17 committed Sep 30, 2026
  • docs(TASK-097): tighten four wordings after the fourth review round

    @Dark-Alex-17 Dark-Alex-17 committed Sep 29, 2026
  • docs(TASK-097): correct the round-two review findings on the mesh pages

    @Dark-Alex-17 Dark-Alex-17 committed Sep 29, 2026
  • docs(TASK-097): correct the mesh pages after review

    @Dark-Alex-17 Dark-Alex-17 committed Sep 29, 2026
  • docs(TASK-097): add the mesh deployment, container and platform-support pages Derived from the code repo at feat/PLAN-mesh: - Mesh-Deployment.md: assets/config-template.yaml, src/config/mesh_config.rs (validate, MeshInterface Display), src/repl/mesh.rs (reach_line, on_question, trust_refusal, render_propagation_nodes), src/mesh/announce.rs, src/mesh/card.rs (StatusError), src/mesh/r3/error.rs, deployment/propagation-node/README.md, src/mesh/node.rs (fetch_propagated) - Mesh-Containers.md: Dockerfile, src/config/paths.rs, src/mesh/identity.rs (owner-only key and 0700 dir), deployment/propagation-node/README.md - Mesh-Platform-Support.md: src/mesh/identity.rs (unix mode check, owner_only_advice, owner_only_remedy, acl_less_volume_warning), src/utils/windows_acl.rs, src/mesh/lock.rs, src/config/paths.rs, .github/workflows/ci.yaml, src/repl/mesh.rs, src/mesh/knock.rs (knock_text), src/mesh/trust.rs, src/mesh/events.rs

    @Dark-Alex-17 Dark-Alex-17 committed Sep 29, 2026