From a86bced1640ac1a695b95ac68b95e3fc581e687d Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Thu, 15 Oct 2026 12:57:51 +0200 Subject: refactor(chat): no thread_id — chat has no threads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nothing ever set it (the page and the CLI sent null) and nothing read it (the node's get_thread had no caller). It is no longer sent by the page or the CLI, in clear or in the sealed payload, nor relayed or served by the node; get_thread and its index are gone, and the protocol and design docs no longer name it. The node still accepts a chat_msg carrying one, from the desktop apps and CLIs already installed, and drops it. The column stays, empty, in chat.db: a node downgraded to an older version names it in every query. Co-Authored-By: Claude Opus 5.5 --- docs/MESHBAY_DESIGN.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/MESHBAY_DESIGN.md') diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md index 5325ac7..750484a 100644 --- a/docs/MESHBAY_DESIGN.md +++ b/docs/MESHBAY_DESIGN.md @@ -2051,8 +2051,8 @@ message may cost, and **60 a minute per account per group** for how often one member may impose it. Both are checked before anything is stored or relayed, and a refusal names itself (`chat_too_large`, `chat_rate_limited`) and is audited. -The numbers are meant to be invisible. The sealed payload is the text, a thread -id, a display name and a timestamp — an attachment is a file on a root and +The numbers are meant to be invisible. The sealed payload is the text, a display +name and a timestamp — an attachment is a file on a root and travels as a reference (§4.5) — so 64 KB is some sixty thousand characters, and sixty a minute is far above a person typing. The rate is keyed by **account**, not by connection: a second tab does not make anyone type faster, and keying on -- cgit v1.2.3