A direct message answers in the form its recipient writes in
Lemmy 0.19 (most of the threadiverse) and Mbin take a private message only as a ChatMessage and refuse a direct Note. A direct message to one account elsewhere that writes to us as ChatMessages now goes out as one: to it alone, without a mention in its text, kept on the post (Post.AsChatMessage) so the served copy and an edit match. No software name decides it. Live against Lemmy 0.19: alice's answer to lemmyuser's private message and another persona's message to lemmyuser arrive (29 checks). A first message to an account that never wrote to anyone here is still a Note, which they refuse; G-0008 keeps that open for the owner. 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
a85ebd30c0
commit
f38ac73615
10 files changed
+90
-17
No files matched your search
+9
-7
@@ -510,7 +510,7 @@ on a Page: pins live in `featured`, locks in `Lock`.
|
||||
| Announces of activities other than Create (votes, moderation): trust the inner activity when the object's own group signed the Announce; refetching every vote does not scale. Keep the origin refetch for Create and Update. Votes and their undoing **done** 2026-10-04 (`AnnounceHandler.Relayed`: trusted from the community's own server or on its own posts, otherwise fetched from the voter's origin); moderation still open | P1 | — |
|
||||
| Moderation state: removals (reason, by, at, cascade), locks, bans with `endTime`/`removeData`, featured, moderators, `Update{Group}` by a moderator | P1 | removed posts hidden plus `privapub.removed`; `privapub.locked` (replying answers 422); pins as `pinned=true` |
|
||||
| Link posts: keep `Link.href`, the thumbnail `image` and alt text; build the card (Lemmy sends no title or description for the link) | P1 | `Status.card` |
|
||||
| `ChatMessage` in and out (out only to Lemmy < 1.0 and Mbin; `Note` to everyone else) | P1 | `visibility: direct` |
|
||||
| `ChatMessage` in and out (out to someone who writes to us that way, done 2026-10-05; a first message waits, G-0008) | P1 | `visibility: direct` |
|
||||
| Outbound shape for Lemmy: both `to` and `cc`; the community in `to`; Public in the object, Create and Announce; votes and comments sent to the community inbox | P1 | — |
|
||||
| Communities we host: pick `Announce(object)` per peer by NodeInfo (as PieFed does). Announcing to every follower instance, the author's included, is done and needed (pasture evidence below) | P1 | — |
|
||||
| Flags from a `Service`-typed reporter actor with `to: [community]`; the reporter stays anonymous | P2 | — |
|
||||
@@ -557,12 +557,14 @@ What it showed:
|
||||
- 0.19's release trusts only the roots its rustls bundles, never Caddy's CA, so the pasture builds 0.19.20 from its tag
|
||||
with reqwest's `rustls-tls-native-roots` added (`tools/pasture/images/lemmy19`) and runs it as `lemmy19.test`.
|
||||
- **0.19 takes private messages only as `ChatMessage`** (`ChatMessageType` has no `Note`) and answers our direct
|
||||
`Note` 400. Most of the threadiverse runs 0.19, so this matters more than Mbin's same rule (G-0008).
|
||||
- **Pasture evidence (2026-10-05, Lemmy 0.19.20, `tools/pasture/scenarios/lemmy19.sh`):** 27 checks pass and one gap is
|
||||
expected (G-0008, direct messages to it), with no change to PrivaPub: communities both ways, threads with titles,
|
||||
comments both ways, votes up and down both ways (relayed in the community's announces, as 1.0 does), its private
|
||||
message to alice, a moderator's lock (replies then refused), unlock, ban and unban (`blocked_by`) and removal,
|
||||
statistics.
|
||||
`Note` 400. Since 2026-10-05 a direct message to someone who writes to us as `ChatMessage`s goes out as one; the
|
||||
first message to someone who never did is still a `Note` (G-0008). Most of the threadiverse runs 0.19, so this
|
||||
matters more than Mbin's same rule.
|
||||
- **Pasture evidence (2026-10-05, Lemmy 0.19.20, `tools/pasture/scenarios/lemmy19.sh`):** 29 checks pass and one gap is
|
||||
expected (G-0008, a first direct message): communities both ways, threads with titles, comments both ways, votes up
|
||||
and down both ways (relayed in the community's announces, as 1.0 does), its private message to alice and her answer
|
||||
as a `ChatMessage` (another persona's too), a moderator's lock (replies then refused), unlock, ban and unban
|
||||
(`blocked_by`) and removal, statistics.
|
||||
|
||||
### PieFed 1.7.17 and Mbin 1.10.1
|
||||
|
||||
|
||||
+3
-2
@@ -72,8 +72,9 @@ Written 2026-10-01 from the original 2023 code, the decePubClient UI, a federati
|
||||
- wave 2, under way: PieFed, Mbin, NodeBB and Lemmy 0.19 in the pasture with scenarios (2026-10-05). What they showed and was fixed: the
|
||||
instance actor answers at the server's root, where PieFed looks for the inbox it announces to; a community's removal
|
||||
of a post on its own server is believed at once; a followed group's post its own server sends without announcing
|
||||
it is kept, and a bare `Lock` from the post's server is taken (Mbin). Open: direct messages to Lemmy 0.19 and Mbin,
|
||||
which take them only as `ChatMessage` (G-0008, waits for the owner).
|
||||
it is kept, and a bare `Lock` from the post's server is taken (Mbin). A direct message to someone who writes to us as
|
||||
`ChatMessage`s goes out as one (Lemmy 0.19, Mbin). Open: a first message to such an account (G-0008, waits for the
|
||||
owner).
|
||||
- [ ] P7 Threads, communities, moderation, the social graph
|
||||
- [ ] P8 Signatures, discovery, the long tail
|
||||
- [x] P9 Reading at volume (owner decision 2026-10-04, back from "Cut"): lists, server-side filters, scheduled posts,
|
||||
|
||||
Reference in new issue
Block a user