Pasture: NodeBB joins

NodeBB 4.16.1 runs in the pasture on the pasture's Mongo, set up by its
automated setup, with an API token written where NodeBB keeps them.
scenarios/nodebb.sh passes its 23 checks with no change to PrivaPub: a
category followed and its topic as a titled thread, replies both ways, a
follow of alice and her post there, votes both ways, an edit and a
deletion, a chat both ways, the unfollow and statistics.

NodeBB never federates a topic's lock, and its API follows an account
elsewhere only when named by its handle; both are in docs/INTEROP.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-05 16:58:08 +02:00
1 parent 26346cde30
commit 6b08da458a
7 files changed
+158 -1

No files matched your search

+7
View File
@@ -620,6 +620,13 @@ What it showed:
- `context` is a paged collection with an **ETag digest**; NodeBB refetches with `If-None-Match`.
- Since 4.15, an Announce of anything but a Create or a plain object is accepted only from Group actors.
- It sends `Move`/`Remove` of a whole context (FEP-f15d) and `Add{post → context}` (FEP-11dd).
- Chats are private Notes, threaded by `inReplyTo` into the room they answer.
- It never federates a topic's lock (its `activitypub/out.js` has no `Lock`), and its API follows an account
elsewhere only when named by its handle (`PUT /api/v3/users/<user@host>/follow`).
- **Pasture evidence (2026-10-05, NodeBB 4.16.1, `tools/pasture/scenarios/nodebb.sh`):** 23 checks pass, with no
change to PrivaPub: alice follows a category and its topic reaches her as a titled thread; replies both ways;
nbuser follows alice and her post reaches NodeBB; nbuser's upvote counts as a like and taking it back too, alice's
like is an upvote there; an edit and a deletion; a chat both ways; the unfollow; statistics.
- **Discourse** (plugin, semi-dormant): categories and tags are Groups. "Full Topic" mode makes the topic an
OrderedCollection used as `context`.
- **Friendica** (2026.05-1):