<feed xmlns='http://www.w3.org/2005/Atom'>
<title>meshbay.git/docs/playlists.md, branch 0.14</title>
<subtitle>MeshBay — read-only public mirror</subtitle>
<id>https://git.meshbay.org/meshbay.git/atom?h=0.14</id>
<link rel='self' href='https://git.meshbay.org/meshbay.git/atom?h=0.14'/>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/'/>
<updated>2026-09-11T11:57:44Z</updated>
<entry>
<title>fix(hub): the asset fingerprint covers every file under static/</title>
<updated>2026-09-11T11:57:44Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-09-11T11:57:44Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=7adbf5163f0193d80bb5578dc875eba811f864bb'/>
<id>urn:sha1:7adbf5163f0193d80bb5578dc875eba811f864bb</id>
<content type='text'>
Everything under static/ is served at /a/&lt;hash&gt;/ with a year's
`immutable`, but the hash was computed from a hand-kept list of 43
top-level modules. The ten catalogues and vendor/ were not on it, nor
was anything the guarding test could see: it globbed *.js at the top
level only. A change confined to the catalogues therefore kept the hash,
and a phone went on showing a heading that had been rewritten and
deployed - pull-to-refresh fetched the no-store shell, which was
current, and never refetched en.js at a URL that had not moved.

The fingerprint now hashes every file under static/, path and content,
so a change, a rename or a new file moves the version with nothing to
register. _ASSETS is gone, and CLAUDE.md, MESHBAY_DESIGN.md 9.4 step 6,
assets/brand/README.md and docs/playlists.md no longer ask for it.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01D9MCBBWSm9GhBESmqzJxNy
</content>
</entry>
<entry>
<title>docs: remove the documents MESHBAY_DESIGN.md replaces</title>
<updated>2026-09-10T22:19:06Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-09-10T22:19:06Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=f059cb118c556d1f0279350507f74b8a47d5a98a'/>
<id>urn:sha1:f059cb118c556d1f0279350507f74b8a47d5a98a</id>
<content type='text'>
Twenty-four files, about 17 000 lines: the two architecture drafts, the three
security reviews, eleven design notes, the roadmap, the decisions file, the v1–v4
archive, the deprecated user guide and the stale quickstart. Their content is in
MESHBAY_DESIGN.md, and git history holds the originals.

The reason to delete rather than keep bannered: a document that is superseded but
present still gets read, and a reader cannot always tell which of two accounts of
one mechanism is the live one. That was the argument for retiring the user guide
rather than repairing it, and it applies to the whole set.

What made this safe is the concordance. Roughly 290 comments and docstrings cite
these files by section — `musicbay.md §6`, `mediacenter.md §5.5`, `draft-v6 §2.11`
— and section 16 maps every one onto its replacement, so not a single comment
needs editing to stay followable. It now says plainly that the files are gone and
where to recover them, and it gained rows for the three reviews (their findings
are section 13), and for the two guides.

Four kept documents pointed into the set and were repointed first: `playlists.md`
(nine references — it is a live proposal and must not dangle), `WINDOWS-PORT.md`,
and CLAUDE.md's example. No dangling reference remains outside section 16.

Two files were dropped from the list after checking what they hold. `HTTPS.md` is
an operational runbook — Caddy, certificate renewal, DNS, troubleshooting — and
MESHBAY_DESIGN.md deliberately covers no operations, so nothing would replace it;
the versioned Caddyfile is the config, not the procedure. `cast-smart-tv.md` is
the plan for the unbuilt DLNA phase of a feature whose first two phases ship, and
section 11.4 summarises it in four lines rather than carrying the SSDP/UPnP work.

There is no user guide now, and section 0.1 says so rather than leaving a reader
to discover it.

Suites green: 2258 passed, 4 skipped.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01YVoHVCcfBqud6ZjG4db3y7
</content>
</entry>
<entry>
<title>docs(mnp): the protocol reference, brought to the cleanup push</title>
<updated>2026-09-10T16:44:53Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-09-10T16:44:53Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=b88bb8a8bcdc27a092f902f7adbe90373f15732e'/>
<id>urn:sha1:b88bb8a8bcdc27a092f902f7adbe90373f15732e</id>
<content type='text'>
MESHBAY_NODE_PROTOCOL.md and playlists.md move into the repository, where a
reader can follow them.

The protocol reference was written against the tree before the cleanup landed
and described three things that no longer exist. Corrected here rather than
left to be discovered:

  * member_upload is gone from the handshake ack and from the message
    catalogue. Whether a member may write is a property of each root, and a
    summary field beside the authoritative one is a second source for one
    question — whichever the reader consults first decides it.
  * video_root, audio_root and photo_roots are gone from the ack, the signed-op
    table and the message reference. app_directories is not "the general form"
    of three narrower ops any more; it is the only one. What survives is their
    storage key on the node, because that is a key on an operator's disk rather
    than on the wire, and a node upgraded into this has to find its own
    configuration.
  * The sender-key implementation the chat section pointed at has been deleted,
    along with the ratchet. The argument for deriving a key per device stands on
    its own now instead of pointing at a module to compare against.

playlists.md is added as written — a design for a feature that is not built, and
the first one to need per-account state spanning several groups on several
nodes. Its decided shape is summarised in MESHBAY_DESIGN.md section 9.10.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01YVoHVCcfBqud6ZjG4db3y7
</content>
</entry>
</feed>
