<feed xmlns='http://www.w3.org/2005/Atom'>
<title>meshbay.git/devel-phases.md, branch 0.11</title>
<subtitle>MeshBay — read-only public mirror</subtitle>
<id>https://git.meshbay.org/meshbay.git/atom?h=0.11</id>
<link rel='self' href='https://git.meshbay.org/meshbay.git/atom?h=0.11'/>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/'/>
<updated>2026-09-01T14:05:16Z</updated>
<entry>
<title>docs: move root docs into docs/ and archive superseded drafts</title>
<updated>2026-09-01T14:05:16Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-09-01T14:05:16Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=8a6294b0412a86f378c6e2e937c28de64a903c91'/>
<id>urn:sha1:8a6294b0412a86f378c6e2e937c28de64a903c91</id>
<content type='text'>
Move the remaining root-level .md files (except CLAUDE.md) into docs/:
devel-phases.md, devel-phases-next.md, first-review.md, second-review.md,
tmp-decisions.md. Update all inbound references in CLAUDE.md (now docs/-prefixed)
and strip the now-redundant docs/ prefix from links inside the moved files.

Consolidate the superseded material into docs/old-draft.md: architecture
drafts v1-v4, POC v1, and the Phase 1-12 development log, each under an
ARCHIVED banner with a preamble pointing at the current specs. Delete the
merged originals plus the unreferenced French translations (v1-fr, v2-fr,
poc-v1-fr). Repoint the surviving file-links in first-review.md,
second-review.md and meshbay-draft-v5.md at old-draft.md; prose "draft-v3 §x"
mentions are left as-is since the content now lives in the archive.

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01J74kj44q6REczub8XR3DRy
</content>
</entry>
<entry>
<title>feat: Phase 9 — Web client SPA with WebRTC P2P transport</title>
<updated>2026-08-11T02:13:53Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-08-11T02:13:53Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=e23e33adeaf8ee7439187d4451c856b37816a51f'/>
<id>urn:sha1:e23e33adeaf8ee7439187d4451c856b37816a51f</id>
<content type='text'>
Complete browser-based client: Preact SPA with login, group file browser,
encrypted download, video playback, group chat, i18n, and dark/light theme.
Browser connects P2P to nodes behind residential NAT via WebRTC DataChannel
(aiortc). Hub handles signaling only — all data flows E2E.

Performance: pipelined downloads (8-chunk sliding window), binary msgpack
wire format (no base64), redundant I/O elimination. Large file downloads
stream to disk via File System Access API (showSaveFilePicker).

Validated on SFR + Orange residential NATs, Chrome + Firefox, IPv4/IPv6.
132 tests passing. Deployed to meshbay.org + Orange node.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: update devel-phases — demo-v2 NAT traversal QUIC validated</title>
<updated>2026-08-09T22:30:35Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-08-09T22:30:35Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=6ef349fee50cb8436ed12aa2a24c3b6918d1db21'/>
<id>urn:sha1:6ef349fee50cb8436ed12aa2a24c3b6918d1db21</id>
<content type='text'>
SFR Port-Restricted Cone NAT diagnosed. punch_nat() implemented.
QUIC direct Fedora→SFR→meshbay.org: 12.7s handshake, file transfer OK.

Co-Authored-By: Claude Sonnet 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: update all pointers after keyderive + QE restructure</title>
<updated>2026-08-09T12:57:01Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-08-09T12:57:01Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=44b9e74153f5e32b3665f319429b3b08fd3662d5'/>
<id>urn:sha1:44b9e74153f5e32b3665f319429b3b08fd3662d5</id>
<content type='text'>
CLAUDE.md: add QE/ to structure, key modules table, server state reference,
security rule updated (QE/ not keypair files), meshbay.org inventory pointer.

devel-phases.md: add milestones 6.6-6.9 (keyderive, bundle, demo scripts,
QUICKSTART rewrite). 81/81 tests.

docs/meshbay-draft-v3.md §6.1.1: new section documenting 3 key generation
strategies (Argon2id CLI, WebCrypto browser+bundle, keystore file) and the
algorithm mismatch caveat between CLI and web registration paths.

docs/USERGUIDE.md §2 Register+Login: replace "generate and persist before
registering" warning with the two clean strategies (derive_keys_from_password
for CLI, keyderive.js + keypair_bundle for browser). Login response updated
with keypair_bundle field.

hub/models.py + users.py + Alembic migration: keypair_bundle column on User,
stored at registration, returned at login (web clients only).

Co-Authored-By: Claude Sonnet 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: mark Phase 6 complete — 74/74 tests</title>
<updated>2026-08-09T03:31:35Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-08-09T03:31:35Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=ebfece74d21ba6b9e2e896f54193927b93d90645'/>
<id>urn:sha1:ebfece74d21ba6b9e2e896f54193927b93d90645</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: add Phase 6 plan — chat, multi-group, federation, replication</title>
<updated>2026-08-09T03:25:43Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-08-09T03:25:43Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=99e965329cc2c88b667d7ba4733851445f3e2641'/>
<id>urn:sha1:99e965329cc2c88b667d7ba4733851445f3e2641</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: mark Phase 5 complete — QUIC, federation, moderation, packaging</title>
<updated>2026-08-09T03:22:28Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-08-09T03:22:28Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=5c40ef4d5799f55bb37c4b7d8308d7fe18fc737a'/>
<id>urn:sha1:5c40ef4d5799f55bb37c4b7d8308d7fe18fc737a</id>
<content type='text'>
59/59 tests. Hub deployed on meshbay.org with all Phase 5 features.
Android/iOS deferred. MHP federation memory-only (DB persistence next).

Co-Authored-By: Claude Sonnet 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: mark Phase 4 complete — web client live on meshbay.org</title>
<updated>2026-08-09T02:58:36Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-08-09T02:58:36Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=3cad68ad33e3b5a481adaab569f65f6a9d0c8719'/>
<id>urn:sha1:3cad68ad33e3b5a481adaab569f65f6a9d0c8719</id>
<content type='text'>
Node HTTP API (7/7 tests), hub web app deployed, HLS streaming
(ffmpeg), public group listing. 47/47 total tests.

Co-Authored-By: Claude Sonnet 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: add Phase 4 plan — web client + node HTTP API</title>
<updated>2026-08-09T02:54:03Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-08-09T02:54:03Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=a4522fe8253fcf6702cf6af7c25284b9519f3969'/>
<id>urn:sha1:a4522fe8253fcf6702cf6af7c25284b9519f3969</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: add HTTPS.md + configure www.meshbay.org redirect</title>
<updated>2026-08-09T02:53:20Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-08-09T02:53:20Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=7d62ef84c48660d02df0dd925ec420641b97a936'/>
<id>urn:sha1:7d62ef84c48660d02df0dd925ec420641b97a936</id>
<content type='text'>
Caddyfile updated: www → 301 → meshbay.org (canonical).
Caddy auto-issued Let's Encrypt cert for www.meshbay.org in 4s.
HTTPS.md explains the setup, cert lifecycle (90-day, auto-renewed),
why 1-year certs are not recommended, DNS requirements.

Co-Authored-By: Claude Sonnet 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
