Personas have walls their followers write on
Owner decision of 2026-10-06 (G-0009, FEP-400e). A persona's actor names its wall (…/graffiti, sm:wall) and, in
Smithereen's privacySettings, that its followers may write on it. A public post that is not a reply, sent with the wall
as its target by an account following the persona, is hosted: the persona is notified, it reaches the persona's and its
followers' homes, and the followers' servers and the author's are told with Add{Note}. The persona deletes it with
DELETE /api/v1/statuses/:id, which sends Remove{Note}; Smithereen deletes the post then. The wall lists the persona's
public posts that start a thread and what was written on it.
Elsewhere: an account's Add{Note} on its own wall shows the post to its followers here as on that wall (privapub.wall on
the status), and its Remove takes it away. An Add or Remove naming a collection of the account's own server PrivaPub
does not know has its document read again first, at most hourly: accounts kept before walls were read had none.
Checked live: Smithereen 40 checks (G-0009 closed); GoToSocial and Mastodon unchanged (121).
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
e0682fa868
commit
c47b6e5533
26 files changed
+582
-36
No files matched your search
+13
-8
@@ -850,10 +850,13 @@ without a port, before it gives out its OAuth client.
|
||||
### Smithereen 1.0.3
|
||||
|
||||
- **Walls:** a post is a `Note`; one written on someone else's wall carries the wall (`sm:wall`, FEP-400e) as its
|
||||
`target`, and the wall's owner tells its followers with `Add{Note}`. Smithereen sends both only to servers whose
|
||||
actors have a wall (`Server.Feature.WALL_POSTS`, learnt from an actor's `sm:wall`), so PrivaPub never sees a post on
|
||||
someone else's wall (G-0009: a persona's wall waits for the owner). Comments are replies addressed to the post's
|
||||
author, never to followers.
|
||||
`target` (an object with the owner as `attributedTo`), and the wall's owner tells its followers with `Add{Note}`.
|
||||
Smithereen sends both only to servers whose actors have a wall (`Server.Feature.WALL_POSTS`, set for a whole domain
|
||||
the first time it reads an actor there with `sm:wall`, never unset). It reads properties through JSON-LD compaction, so
|
||||
`wall`, `privacySettings` and its keys need their `sm:` terms in the context, and an `allowedTo` must stay a plain
|
||||
string. Its posting rule takes one base rule (followers, or following, or friends), so a persona says followers. An
|
||||
owner deleting someone else's post on its wall sends nothing; a `Remove` from the owner (its target a plain id)
|
||||
deletes the post there. Comments are replies addressed to the post's author, never to followers.
|
||||
- **Friends are mutual follows.** A request is an `Offer{Follow}` sent only to actors with
|
||||
`sm:supportsFriendRequests`; anyone else gets a plain `Follow`, so a persona is followed, and following back makes
|
||||
them friends there.
|
||||
@@ -865,12 +868,14 @@ without a port, before it gives out its OAuth client.
|
||||
`requireNonNullElse` was meant); its HTTP client refuses private addresses; its schema updater makes stored
|
||||
functions, which MySQL takes only with `log_bin_trust_function_creators`. A database whose first update failed is
|
||||
left without its triggers, and the server then answers 404 to activities about anything it knows.
|
||||
- **Pasture evidence (2026-10-05, Smithereen 1.0.3, `tools/pasture/scenarios/smithereen.sh`):** 30 checks pass and one
|
||||
gap is expected (G-0009): smuser follows alice and she follows back, which makes them friends there; wall posts both
|
||||
ways; comments both ways; likes both ways; smuser's repost is a quote alice's policy lets in, and alice's boost is a
|
||||
- **Pasture evidence (2026-10-06, Smithereen 1.0.3, `tools/pasture/scenarios/smithereen.sh`):** 40 checks pass:
|
||||
smuser follows alice and she follows back, which makes them friends there; Smithereen learns that PrivaPub's actors
|
||||
have walls; wall posts both ways; smfriend's post on smuser's wall reaches alice as on that wall (G-0009 closed);
|
||||
smuser writes on alice's wall, which she sees and her wall lists, her followers' servers are told, and taking it off
|
||||
deletes it on Smithereen; comments both ways; likes both ways; smuser's repost is a quote alice's policy lets in, and alice's boost is a
|
||||
repost there; smuser's poll and alice's vote; edits and deletions both ways; private messages both ways; the
|
||||
unfollow; statistics. PrivaPub changed for it: a server description that failed is asked again on the server's next
|
||||
arrival instead of a week later.
|
||||
arrival instead of a week later; walls (owner decision 2026-10-06).
|
||||
|
||||
### Loops (1.0.0-beta.14) and Pixelfed (0.14.4)
|
||||
|
||||
|
||||
Reference in new issue
Block a user