Forte in the pasture
Forte 26.9.10, the ActivityPub-only fork of Streams, built from its tag (images/forte: composer on Hubzilla's PHP image)
with portable identities (did:key actors behind /.well-known/apgateway). scenarios/forte.sh, 21 checks: follows, posts,
comments, likes, edits and deletions both ways, a third channel's comment passed on by the thread's owner, the
unfollow, statistics. INTEROP.md records what it does its own way: follows of profile pages, edits only as
Add{Update} under the Create's id, collections that misname themselves.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
1 parent
99b5e2dbf3
commit
3df3c333bf
8 files changed
+317
No files matched your search
@@ -854,6 +854,26 @@ without a port, before it gives out its OAuth client.
|
||||
never as the relay's boost), and nobody's home; a persona's public post goes to the relays, nothing less public, and
|
||||
reaches Mastodon through both (forwarded on its proof, and announced).
|
||||
|
||||
### Forte 26.9.10
|
||||
|
||||
- **Portable identities (FEP-ef61):** a channel's actor is `https://<server>/.well-known/apgateway/did:key:z6Mk…/actor`,
|
||||
its keys a `did:key` and Multikeys; WebFinger lists `ap://did:key…` and the gateway address beside the usual ones.
|
||||
PrivaPub keeps it as an ordinary actor at that https address.
|
||||
- **Follows a profile page:** its `Follow` names the persona's profile URL (`/@name`, WebFinger's alias) rather than the
|
||||
actor's id; PrivaPub takes either (a 404 before).
|
||||
- **Everything in a thread is added to its conversation** (FEP-171b): its edits come only as `Add{Update}`, under the
|
||||
same activity id as the post's `Create`, and likes as `Add{Like}`. PrivaPub unwraps Create, Update and Delete, telling
|
||||
an Update from the Create whose id it reuses by what it carries.
|
||||
- **Its own collections name themselves wrongly:** a channel's followers, following and outbox give an `id` with the
|
||||
gateway path twice and a trailing `?`, which 404s, so their counts are not read.
|
||||
- **Running it:** no image is published; `images/forte` builds its tag with composer on Hubzilla's PHP image, behind an
|
||||
nginx that routes through `index.php?req=`. Its curl uses `library/cacert.pem`, not the system store. The `social`
|
||||
role leaves each connection pending; the pasture's channels set `autoperms`. Background jobs it starts from the
|
||||
command line do not outlive `podman exec`, so the scenario runs the Follow's notifier itself. Likes take `verb=Like`.
|
||||
- **Pasture evidence (2026-10-06, `tools/pasture/scenarios/forte.sh`):** follows both ways, posts both ways, comments
|
||||
both ways, a third channel's comment passed on by the thread's owner, likes both ways, edits and deletions both ways,
|
||||
the unfollow, statistics.
|
||||
|
||||
### Hubzilla 11.4.1 (pubcrawl)
|
||||
|
||||
- **Channels speak ActivityPub only with the "Activitypub Protocol" app** installed for them (the pubcrawl addon on
|
||||
|
||||
Reference in new issue
Block a user