<feed xmlns='http://www.w3.org/2005/Atom'>
<title>meshbay.git/packages/meshbay-node/tests/golden/dispatch.json, branch 0.17</title>
<subtitle>MeshBay — read-only public mirror</subtitle>
<id>https://git.meshbay.org/meshbay.git/atom?h=0.17</id>
<link rel='self' href='https://git.meshbay.org/meshbay.git/atom?h=0.17'/>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/'/>
<updated>2026-09-28T19:14:10Z</updated>
<entry>
<title>fix: bound pending admin challenges and sign every value an op acts on</title>
<updated>2026-09-28T19:14:10Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-09-28T19:14:10Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=a421a03d2be16670dc8d9076d26f4a7eac669986'/>
<id>urn:sha1:a421a03d2be16670dc8d9076d26f4a7eac669986</id>
<content type='text'>
Any member could make a node hold unbounded challenge requests; a
connection now keeps at most 8, 64 KiB each. root_add, group_attach,
invite_create and tmdb_config signed less than they did; their subjects
are now canonical JSON of every value (the TMDB token by SHA-256).
MNP 5.0, floor kept at 4.0.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor: remove dead code across packages</title>
<updated>2026-09-28T16:22:07Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-09-28T16:22:07Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=f63104b82da24ff3f406c53346300bd50788796f'/>
<id>urn:sha1:f63104b82da24ff3f406c53346300bd50788796f</id>
<content type='text'>
Unused modules, functions, constants and client helpers with no caller,
the unreachable hub:probe IPC handler, and the CSAM hash matching.
Behaviour unchanged; the dispatch golden loses only the two removed
message types.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(protocol): MNP 4.0 flag day for the node-audience token (B2)</title>
<updated>2026-09-25T15:43:28Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-09-25T15:43:28Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=3f3c67a4aff7b800c271e88e2bc5e5294b010fb9'/>
<id>urn:sha1:3f3c67a4aff7b800c271e88e2bc5e5294b010fb9</id>
<content type='text'>
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 -&gt; 4.0 and MNP_MIN_SUPPORTED 3.0 -&gt; 4.0 (meshbay_common);
  transport.js MNP_V/MNP_V_MIN -&gt; 4.0 to match.
- MIN_CLIENT_VERSION 0.13.0 -&gt; 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 -&gt; 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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>test(node): the dispatch golden covers a type field that is not a string</title>
<updated>2026-09-24T14:45:38Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-09-24T10:32:56Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=db400a438853036cfd3518873ea47beabe304718'/>
<id>urn:sha1:db400a438853036cfd3518873ea47beabe304718</id>
<content type='text'>
Missing, None, an int, a list, a dict, bytes: recorded on the elif chain
before it becomes a table, since a dict lookup would raise on the
unhashable ones where the chain found no match.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>test(node): record what the session does with every message it can be sent</title>
<updated>2026-09-24T14:45:37Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-09-23T20:32:00Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=bf2c2edf8edab5ce546293552a44de2dcc876282'/>
<id>urn:sha1:bf2c2edf8edab5ce546293552a44de2dcc876282</id>
<content type='text'>
A characterisation test over every MNP type, peer state and message shape,
and every signed operation's answer: the reply, the audit, the handler
started. It pins dispatch order and the admin table so they can be moved.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
