From 1d169141f3a5542efda2f7fdb0bb88308c06191b Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Wed, 23 Sep 2026 18:16:02 +0200 Subject: feat(node): member invite --link and member cancel in the CLI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CLI makes both halves itself — the node's code, then the hub's ticket bound to the address — and prints the link; a refused ticket takes the code back, and cancel takes back both. The CLI never asks the hub to mail. Co-Authored-By: Claude Opus 5.5 --- docs/MESHBAY_DESIGN.md | 3 +-- docs/USERGUIDE.md | 14 +++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md index 861e233..e7d7f0c 100644 --- a/docs/MESHBAY_DESIGN.md +++ b/docs/MESHBAY_DESIGN.md @@ -1616,7 +1616,7 @@ meshbay-node group list|add|remove meshbay-node root list|add|remove|set|eject|plug meshbay-node gek init|rotate meshbay-node operator pair -meshbay-node member list|invite|revoke|unpin +meshbay-node member list|invite [--link]|cancel|revoke|unpin meshbay-node file list|rm meshbay-node video rematch meshbay-node chat status|rotate|encrypt-history|prune @@ -3264,7 +3264,6 @@ process runs it — `systemctl --user` on Linux, Task Scheduler on Windows. | — | DLNA/UPnP casting (§11.4) | | — | **Bitmap subtitles** (PGS, VOBSUB — about a fifth of the embedded streams). No WebVTT without OCR; they are not listed rather than listed and blank. Burn-in covers them and costs `-c:v copy`, which is what the eight-slot sizing assumes never happens | | — | Delegation (§3.4) | -| — | **`meshbay-node member invite --link`** (§3.4). Invitation links are built on the node, the hub and the interface; the CLI still issues account codes only | | — | Tier 3 roster attestation (§3.3) | | — | Android client | | — | **Federation between two hubs.** The protocol is written and switched off in the code (§7.6); what is not built is one run between two machines | diff --git a/docs/USERGUIDE.md b/docs/USERGUIDE.md index afe63fd..dda69d2 100644 --- a/docs/USERGUIDE.md +++ b/docs/USERGUIDE.md @@ -567,8 +567,15 @@ membership on the hub and produces a code that never goes near it. Send the code out of band; they enter it the first time they open the group. You do not need to be online then. -**Inviting someone who has no account yet** is the **Invite by link** box, under -the first one: type their e-mail address and **Create link**. Send them the +**Inviting someone who has no account yet** is a link: + +```bash +meshbay-node member invite alice@example.org --link +meshbay-node member cancel # printed with the link, and in member list +``` + +or the **Invite by link** box in the Members tab, under the first one: type +their e-mail address and **Create link**. Send them the link, or leave **Send the invitation by e-mail** ticked and the hub mails it. They register with that address and land in the group without typing a code. The link works once and only for an account with that address, so a copy that @@ -800,7 +807,8 @@ meshbay-node root eject|plug removable drives meshbay-node gek init|rotate the group's encryption key meshbay-node operator pair authorise a browser -meshbay-node member list|invite|revoke|unpin people +meshbay-node member list|invite|cancel|revoke|unpin + people, and invitation links meshbay-node file list|rm files, from the machine itself meshbay-node chat status|rotate|encrypt-history|prune -- cgit v1.2.3