From 4fbf36779a730bd579c6fbc25191bce7d9e5faeb Mon Sep 17 00:00:00 2001 From: blankie Date: Wed, 17 Jun 2026 20:15:50 +0000 Subject: [PATCH 1/2] forum trust circle: trust-gated content exchange via subscription graph --- README.md | 2 ++ src/tinyweb/db.py | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/README.md b/README.md index b38ae0e..c52f06e 100644 --- a/README.md +++ b/README.md @@ -185,6 +185,7 @@ This connects over Reticulum and serves the remote instance at `http://localhost - Desktop-oriented - JSON-only import - Forum threads prune after 30 days by default +- Forum discovery is through the subscription graph rather than topic-based blooms - Best-effort maintenance ## Forum plugin @@ -209,6 +210,7 @@ Enable it on the `/style` page under "Forum". A "Forum" link will appear in the - Auto-discovery can be disabled in the moderation page - Threads are auto-pruned after 30 days (configurable, or set to 0 to keep everything) - Moderation is local: block authors, mute threads, keyword filters, and gossip block lists with peers (auto-block after 3 peer reports) +- **Trust circle** — Content is gated by a trust graph derived from your TinyWeb subscriptions. Each subscribed peer's forum content (and their transitive trust network) enters your view automatically. Blocking a peer cascades: their downstream trust network is removed from your view. For full feature docs, see the [tinyweb-forum README](https://codeberg.org/tinyweb/tinyweb-forum). diff --git a/src/tinyweb/db.py b/src/tinyweb/db.py index d7f269b..0e5cea2 100644 --- a/src/tinyweb/db.py +++ b/src/tinyweb/db.py @@ -270,6 +270,12 @@ def init_db(): db.execute("ALTER TABLE pages ADD COLUMN reticulum_dest TEXT DEFAULT ''") db.commit() + # Migrate subscriptions: add forum_enabled column + sub_cols = [row[1] for row in db.execute("PRAGMA table_info(subscriptions)").fetchall()] + if "forum_enabled" not in sub_cols: + db.execute("ALTER TABLE subscriptions ADD COLUMN forum_enabled INTEGER DEFAULT 0") + db.commit() + # Chunks table for semantic search embeddings db.execute( "CREATE TABLE IF NOT EXISTS chunks (" From 4ac22a472bd212865c2ad095d4b22cea0329b383 Mon Sep 17 00:00:00 2001 From: blankie Date: Wed, 17 Jun 2026 20:16:06 +0000 Subject: [PATCH 2/2] fix: app.py gateway import alias (broken since src layout migration) --- src/tinyweb/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tinyweb/app.py b/src/tinyweb/app.py index ca3b6de..b63ed3c 100644 --- a/src/tinyweb/app.py +++ b/src/tinyweb/app.py @@ -10,7 +10,7 @@ from tinyweb.db import init_db, get_setting, set_setting from tinyweb.handlers import dispatch_request import tinyweb.handlers as handlers_mod import tinyweb.templates as templates_mod -import tinyweb.gateway +import tinyweb.gateway as gateway from tinyweb.gateway import GatewayState, GatewayHandler IDENTITY_FILE = "tinyweb_identity"