diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-25 17:43:28 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-25 17:43:28 +0200 |
| commit | 3f3c67a4aff7b800c271e88e2bc5e5294b010fb9 (patch) | |
| tree | 7280157a5921605b95fb8d1640f4b656067c8136 /packages/meshbay-node/tests/golden/dispatch.json | |
| parent | bce962c39fcb2d124506e33f77c3ca9082f145dd (diff) | |
| download | meshbay-3f3c67a4aff7b800c271e88e2bc5e5294b010fb9.tar.gz | |
feat(protocol): MNP 4.0 flag day for the node-audience token (B2)
The node-audience token (previous commit) is a change to what a peer must
present, so it is a MAJOR per the versioning rule (§5.6): a pre-4.0 client
presents its hub session token and a 4.0 node refuses it, and there is no
compatibility branch, because leaving one would keep a hub credential reachable
by every node (C6's lesson). So the floor moves with the version.
- MNP_VERSION 3.4 -> 4.0 and MNP_MIN_SUPPORTED 3.0 -> 4.0 (meshbay_common);
transport.js MNP_V/MNP_V_MIN -> 4.0 to match.
- MIN_CLIENT_VERSION 0.13.0 -> 0.16.0 so a stale desktop client is told to
update before connecting rather than meeting a handshake refusal it cannot
read; the browser reloads this build from the hub.
- Regenerate tests/golden/dispatch.json: the only change is the `v` the node
stamps on outbound messages, 3.4 -> 4.0 (56 cases, v field only).
- Document the split and the flag day: MESHBAY_DESIGN.md §5.2 (the handshake
token is the MNP-audience token), §5.6 (the 4.0 flag day), register E10 and
decision 23; MESHBAY_NODE_PROTOCOL.md §6.3 (authorize_token binds MNP_AUD)
and the wire-version banner.
Deploy is coordinated and atomic (common+hub+node+SPA together); a live
browser-to-node validation and the deploy itself remain. common (173), node
(1489, the pre-existing test_cli_golden argparse/prog artifact aside) and hub
(1471) suites all green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-node/tests/golden/dispatch.json')
| -rw-r--r-- | packages/meshbay-node/tests/golden/dispatch.json | 112 |
1 files changed, 56 insertions, 56 deletions
diff --git a/packages/meshbay-node/tests/golden/dispatch.json b/packages/meshbay-node/tests/golden/dispatch.json index 98911f5..5d15057 100644 --- a/packages/meshbay-node/tests/golden/dispatch.json +++ b/packages/meshbay-node/tests/golden/dispatch.json @@ -2228,7 +2228,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2551,7 +2551,7 @@ "subject": "gggggggggggggggggggggggggggggggg", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2570,7 +2570,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2589,7 +2589,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2608,7 +2608,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2878,7 +2878,7 @@ "messages": [], "req_id": 4242, "type": "chat_hist_resp", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2892,7 +2892,7 @@ "messages": [], "req_id": 4242, "type": "chat_hist_resp", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2906,7 +2906,7 @@ "messages": [], "req_id": 4242, "type": "chat_hist_resp", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2920,7 +2920,7 @@ "messages": [], "req_id": 4242, "type": "chat_hist_resp", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2934,7 +2934,7 @@ "messages": [], "req_id": 4242, "type": "chat_hist_resp", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2948,7 +2948,7 @@ "messages": [], "req_id": 4242, "type": "chat_hist_resp", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2962,7 +2962,7 @@ "messages": [], "req_id": 4242, "type": "chat_hist_resp", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -2976,7 +2976,7 @@ "messages": [], "req_id": 4242, "type": "chat_hist_resp", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -8855,7 +8855,7 @@ "subject": "gggggggggggggggggggggggggggggggg", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -8874,7 +8874,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -8893,7 +8893,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -8912,7 +8912,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -9247,7 +9247,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -9266,7 +9266,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -9285,7 +9285,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -9620,7 +9620,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -9639,7 +9639,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -9658,7 +9658,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -11961,7 +11961,7 @@ "subject": "link:gggggggggggggggggggggggggggggggg", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -14060,7 +14060,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -14079,7 +14079,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -14098,7 +14098,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -14433,7 +14433,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -14452,7 +14452,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -14471,7 +14471,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16532,7 +16532,7 @@ "req_id": 4242, "token": null, "type": "pong", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16547,7 +16547,7 @@ "x" ], "type": "pong", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16560,7 +16560,7 @@ "req_id": 4242, "token": 7, "type": "pong", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16573,7 +16573,7 @@ "req_id": 4242, "token": "x", "type": "pong", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16586,7 +16586,7 @@ "req_id": 4242, "token": null, "type": "pong", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16601,7 +16601,7 @@ "x" ], "type": "pong", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16614,7 +16614,7 @@ "req_id": 4242, "token": 7, "type": "pong", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16627,7 +16627,7 @@ "req_id": 4242, "token": "x", "type": "pong", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16962,7 +16962,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -16981,7 +16981,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -17000,7 +17000,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -17335,7 +17335,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -17354,7 +17354,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -17373,7 +17373,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -17708,7 +17708,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -17727,7 +17727,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -17746,7 +17746,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -18081,7 +18081,7 @@ "subject": "['x']", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -18100,7 +18100,7 @@ "subject": "7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -18119,7 +18119,7 @@ "subject": "x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -18454,7 +18454,7 @@ "subject": "['x']:rw=on,rem=on", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -18473,7 +18473,7 @@ "subject": "7:rw=on,rem=on", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -18492,7 +18492,7 @@ "subject": "x:rw=on,rem=on", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -21439,7 +21439,7 @@ "subject": "custom_token=no,language=default", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -21482,7 +21482,7 @@ "subject": "custom_token=yes,language=x", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] @@ -23369,7 +23369,7 @@ "subject": "d=7,u=7", "ts": "<volatile>", "type": "admin_challenge", - "v": "3.4" + "v": "4.0" } ], "spawned": [] |