<feed xmlns='http://www.w3.org/2005/Atom'>
<title>meshbay.git/packages/meshbay-node, branch 0.21</title>
<subtitle>MeshBay — read-only public mirror</subtitle>
<id>https://git.meshbay.org/meshbay.git/atom?h=0.21</id>
<link rel='self' href='https://git.meshbay.org/meshbay.git/atom?h=0.21'/>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/'/>
<updated>2026-10-17T21:15:02Z</updated>
<entry>
<title>chore: bump version to 0.21.0</title>
<updated>2026-10-17T21:15:02Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-17T21:15:02Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=9462ac3067ce68ad90a3527b2144b86bd87bf89e'/>
<id>urn:sha1:9462ac3067ce68ad90a3527b2144b86bd87bf89e</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(node): the answer log names its host addresses</title>
<updated>2026-10-17T16:19:15Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-17T16:19:15Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=d5ba9552e27bac71168178f73a4c977a4d36dc1c'/>
<id>urn:sha1:d5ba9552e27bac71168178f73a4c977a4d36dc1c</id>
<content type='text'>
aiortc ends a host candidate line at `typ host`, so the match on
" typ host " found none and logged `host: none` for every answer.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(node): datagrams straight through the socket on Windows' event loop</title>
<updated>2026-10-16T10:28:25Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-16T10:28:25Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=82b78441aa19ca54c2c84db2a413c88db386cd7b'/>
<id>urn:sha1:82b78441aa19ca54c2c84db2a413c88db386cd7b</id>
<content type='text'>
The ProactorEventLoop's datagram transport keeps one overlapped operation
per direction and starts the next from the previous one's completion, on a
later turn of the loop: one datagram sent and one received per socket and
per turn, however many wait. The busier the node, the slower every
connection, with cores to spare. Measured on loopback with the loop busy
0.5 ms a turn: 1,928 datagrams sent a second and 1,954 received, 87 % of
the rest dropped by the kernel. A browser's download from a node holding
its connections ran at 9 MB/s, the node at 45 % of a core, SCTP round trip
745 ms. Now a datagram goes out with a non-blocking sendto when nothing is
queued, and a completed read is followed by whatever the socket holds
before the next one is posted. Two-core machine, 400 MB: CLI download 27 -&gt;
33 MB/s, upload 18 -&gt; 22, browser over eight connections 9-14 -&gt; 17-19.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'main' of meshbay.org:meshbay</title>
<updated>2026-10-16T09:11:25Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-16T09:11:25Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=1557ba53d8a7110869484ac5f9ccf03c5cfea322'/>
<id>urn:sha1:1557ba53d8a7110869484ac5f9ccf03c5cfea322</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(node): connection processes on by default, one per core up to four</title>
<updated>2026-10-16T08:41:17Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-16T08:41:17Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=9236ffdb295301f8cd61ad34689f84cf685d676e'/>
<id>urn:sha1:9236ffdb295301f8cd61ad34689f84cf685d676e</id>
<content type='text'>
At 1 no process starts and every lane of a download lands on the node's
one core. The Node page also sent every setting on each Save, pinning
untouched ones at the day's default; it sends only what changed.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>perf: linear SCTP reassembly, one SACK every second packet, 4 MB buffer in the CLI</title>
<updated>2026-10-16T08:41:17Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-16T08:41:17Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=d74d371bd7c0ed25f60754e475a78975bf2dc4ee'/>
<id>urn:sha1:d74d371bd7c0ed25f60754e475a78975bf2dc4ee</id>
<content type='text'>
aiortc walked a message's fragments after each one arrived (n^2/2 steps
for a 1 MiB chunk) and acknowledged every packet. Measured on loopback,
400 MB to the CLI: 19 MB/s before, 39 after (49 by the node's count);
uploads from the CLI 25 -&gt; 29 MB/s.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(packaging): the command-line client's Store alias on an application of its own</title>
<updated>2026-10-15T16:12:09Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-15T16:12:09Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=625b2fea074e1c23b992b5759126595b6850af32'/>
<id>urn:sha1:625b2fea074e1c23b992b5759126595b6850af32</id>
<content type='text'>
An Application declares one windows.appExecutionAlias extension, and the
app's is meshbay-node.exe; the second one added for meshbay-cli.exe made
makeappx refuse the package ("must only be declared once") at the very end of
the Store build. The client is now an Application of its own, out of the Start
menu, carrying its alias. Built: MeshBay-0.20.0.appx with both aliases.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>chore: bump version to 0.20.0</title>
<updated>2026-10-15T15:45:41Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-15T15:43:15Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=63aa0ddd8c0ec49fe8b52b6b486b079887ed3112'/>
<id>urn:sha1:63aa0ddd8c0ec49fe8b52b6b486b079887ed3112</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>build: ignore the Windows build's work directories; a Linux mode check off Windows</title>
<updated>2026-10-15T15:45:41Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-15T15:42:30Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=23cb42e97b6fdff85fad3c3d4b9c9dd8e8d0a0ce'/>
<id>urn:sha1:23cb42e97b6fdff85fad3c3d4b9c9dd8e8d0a0ce</id>
<content type='text'>
packages/meshbay-client/build/_pip-audit (and its siblings) is made by the
Windows build and was untracked noise. test_packaging_default_env checked a
POSIX file mode that Git's bash on Windows cannot set.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix(packaging): setup ends a command-line client run from its install</title>
<updated>2026-10-15T15:45:41Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-15T15:42:30Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=0d082ab4d19412079516b281aff76e8c3f70d9ba'/>
<id>urn:sha1:0d082ab4d19412079516b281aff76e8c3f70d9ba</id>
<content type='text'>
A `meshbay-cli chat --follow` left open holds node-runtime's DLLs, so the
previous version's uninstaller failed ("Failed to uninstall old application
files"), a silent update included, and left the node it had stopped not
running. stop-node.ps1 now ends a meshbay-cli.exe run from this install
(-InstallDir, setup's $INSTDIR), and no other copy.

Found through CIM, not Get-Process: setup runs the 32-bit PowerShell, which
reads no path for a 64-bit process, and the first version of the stop matched
nothing. The test runs the script in that PowerShell. Checked live: an update
over a running follower now ends it, replaces every file and restarts the node.

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