Lemmy 1.0's multi-communities and PieFed's feeds (`type: Feed`) resolve as accounts: the feed's `following` is kept
once a day with its counts, each community in it is read in turn, and `/api/v1/accounts/:id/following` lists them.
Lemmy's feed carries the instance's key and its text in `description`; both are taken as they are. Following a feed
answers 422 until the owner decides how a feed is followed.
A post moved to another community (PieFed's Move{object: post, origin, target}), relayed by the community it leaves,
goes there with its thread; a move into a community we host is not taken.
Checked in the pasture: a Lemmy 1.0 feed and a PieFed feed list their communities (ours among them); a PieFed post moved
from its web code arrives moved, with its comment.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
This commit is contained in:
1 parent
62189bf11d
commit
3b3f1f6b93
10 files changed
+226
-25
No files matched your search
+11
-3
@@ -492,7 +492,11 @@ on a Page: pins live in `featured`, locks in `Lock`.
|
||||
- **Private messages:** `ChatMessage` on 0.19; a single-recipient `Note` on 1.0.
|
||||
- **Context:** 1.0's `context` collection is unpaged and **every comment's own context URL returns the whole post
|
||||
thread**. Group threads by the root post, never by comparing `context` strings.
|
||||
- **Feeds:** multi-communities are 1.0's `type: Feed` actors.
|
||||
- **Feeds:** multi-communities are 1.0's `type: Feed` actors at `/m/<name>`, with no WebFinger handle: the instance's
|
||||
shared inbox and the **instance's key** (`owner` is the instance, not the feed), text in `description` (not `summary`),
|
||||
the creator in `attributedTo`, and `following`, an unpaged `Collection` of the community ids with `totalItems`.
|
||||
Following one stays on the follower's server, which subscribes to each community itself (checked 2026-10-07 on
|
||||
1.0.0-beta.2).
|
||||
|
||||
**Expects**
|
||||
- **Fetched documents:** Content-Type exactly one of `activity+json`, `activity+json; charset=utf-8`, or `ld+json` with
|
||||
@@ -595,8 +599,12 @@ What it showed:
|
||||
- **polls in communities** (`Question` with `votersCount`), and Mobilizon-style `Event`s;
|
||||
- flairs in two dialects;
|
||||
- comments: `repliesEnabled` (comment lock), `answer`, plus custom `ChooseAnswer` and `PollVote` activities;
|
||||
- `Move{object: post}` between communities;
|
||||
- `Feed` actors;
|
||||
- `Move{object: post, origin, target}` between communities, by the post's author or a moderator of the origin, relayed
|
||||
as the origin community's `Announce` (only from the web UI; its API has no move);
|
||||
- `Feed` actors at `/f/<name>` with their own key, inbox, `followers`, `moderators` (the owner) and `following` (the
|
||||
communities, a `Collection` with `totalItems`); PieFed's handle is `~name@host`. Following one is a `Follow` to the
|
||||
feed, after which its owner's server sends `Add`/`Remove` of communities, signed by the feed; each member also
|
||||
subscribes to every community as themselves (`feed_auto_follow`). Its API creates feeds (`POST /api/alpha/feed`);
|
||||
- emoji Likes and `EmojiReact` count as upvotes.
|
||||
- **How PieFed formats what it sends us:**
|
||||
- It **chooses the format by our NodeInfo software name**, so keep that accurate.
|
||||
|
||||
Reference in new issue
Block a user