Skip to content

Commit 171ef13

Browse files
authored
Merge pull request #224 from bluesky-social/gaearon-patch-1
Update custom feeds doc to say it goes though AppView
2 parents 3506fc9 + 4be881f commit 171ef13

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

docs/starter-templates/custom-feeds.mdx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ Custom feeds work very simply: the server receives a request from a user's serve
1717
A Feed Generator service can host one or more algorithms. The service itself is identified by DID, while each algorithm that it hosts is declared by a record in the repo of the account that created it. For instance, feeds offered by Bluesky will likely be declared in `@bsky.app`'s repo. Therefore, a given algorithm is identified by the at-uri of the declaration record. This declaration record includes a pointer to the service's DID along with some profile information for the feed.
1818

1919
The general flow of providing a custom algorithm to a user is as follows:
20-
- A user requests a feed from their server (PDS) using the at-uri of the declared feed
21-
- The PDS resolves the at-uri and finds the DID doc of the Feed Generator
22-
- The PDS sends a `getFeedSkeleton` request to the service endpoint declared in the Feed Generator's DID doc
20+
- A user requests a feed from the AppView using the at-uri of the declared feed
21+
- (Currently, this request is proxied via the PDS, but it will hit the AppView directly in the future)
22+
- The AppView resolves the at-uri and finds the DID doc of the Feed Generator
23+
- The AppView sends a `getFeedSkeleton` request to the service endpoint declared in the Feed Generator's DID doc
2324
- This request is authenticated by a JWT signed by the user's repo signing key
24-
- The Feed Generator returns a skeleton of the feed to the user's PDS
25-
- The PDS hydrates the feed (user info, post contents, aggregates, etc.)
26-
- In the future, the PDS will hydrate the feed with the help of an App View, but for now, the PDS handles hydration itself
27-
- The PDS returns the hydrated feed to the user
25+
- The Feed Generator returns a skeleton of the feed to the AppView
26+
- The AppView hydrates the feed (user info, post contents, aggregates, etc.)
27+
- The AppView returns the hydrated feed to the user
2828

2929
For users, this should feel like visiting a page in the app. Once they subscribe to a custom algorithm, it will appear in their home interface as one of their available feeds.
3030

@@ -72,7 +72,7 @@ Install dependencies with `yarn` and then run the server with `yarn start`. This
7272

7373
You'll notice that the `getFeedSkeleton` method returns a `cursor` in its response and takes a `cursor` param as input.
7474

75-
This cursor is treated as an opaque value and fully at the Feed Generator's discretion. It is simply passed through the PDS directly to and from the client.
75+
This cursor is treated as an opaque value and fully at the Feed Generator's discretion. It is simply passed through the AppView directly to and from the client.
7676

7777
We strongly encourage that the cursor be _unique per feed item_ to prevent unexpected behavior in pagination.
7878

0 commit comments

Comments
 (0)