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 ("