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 ++-- docs/MESHBAY_NODE_PROTOCOL.md | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'docs') 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 diff --git a/docs/MESHBAY_NODE_PROTOCOL.md b/docs/MESHBAY_NODE_PROTOCOL.md index b1f7644..04860cd 100644 --- a/docs/MESHBAY_NODE_PROTOCOL.md +++ b/docs/MESHBAY_NODE_PROTOCOL.md @@ -1902,22 +1902,22 @@ read, and receivers include devices that were not connected when it was sent. | | |-- chat_msg {v, format: 1, epoch, device, | | nonce, ct, sig, sender_name, | - | [thread_id], [iteration]} -------------------->| + | [iteration]} --------------------------------->| | | envelope checks (below) | | persist to THIS group's store | | broadcast ------------------->| | | {chat_msg, sender_id, | | sender_name, format, epoch, | | device, nonce, ct, sig, - | | thread_id, timestamp} + | | timestamp} | | notify the hub: group id and | | sender id only |<- ack {v} -----------------------------------------| | |-- chat_hist {v, [before], [limit <= 200]} -------->| |<- chat_hist_resp {v, has_more, messages: [{id, | - | sender_id, sender_name, timestamp, thread_id, | - | format, epoch, device, nonce, ct, sig}]} ------| + | sender_id, sender_name, timestamp, format, | + | epoch, device, nonce, ct, sig}]} --------------| | |<= chat_epoch_ack {v, epoch} =======================| pushed: a new epoch is open ``` -- cgit v1.2.3