Resolve personal feeds from the account's local repository - #249
Open
simnaut wants to merge 1 commit into
Open
Conversation
commit: |
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No unresolved blocking issues were identified.
Pull request overview
Updates personal feed resolution to read locally owned feed-generator records from the account repository, avoiding same-zone self-fetch delays.
Changes:
- Added local feed-generator resolution with fallback for remote accounts.
- Added regression tests for initial, cursor, and missing-record requests.
- Documented the change and added a patch changeset.
File summaries
| File | Description |
|---|---|
plans/in-progress/local-feed-resolution.md |
Documents rationale and validation results. |
packages/pds/test/proxy.test.ts |
Tests local and fallback feed resolution. |
packages/pds/src/xrpc-proxy.ts |
Resolves locally owned feed generators. |
packages/pds/src/index.ts |
Wires repository access into feed proxying. |
.changeset/local-feed-resolution.md |
Records the package patch release. |
Review details
- Files reviewed: 5/5 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An AT Protocol account can publish personal feeds whose generator records live in its own repository. When that account loads one of those feeds through Cirrus, the PDS currently resolves its own account DID over HTTP to locate a record it already stores locally. On deployments where the DID document is served through a same-zone Cloudflare Worker route, this lookup can time out even though the public endpoint works, adding approximately three seconds to each feed request. Cloudflare documents this same-zone route limitation.
This change reads the account's own feed-generator records directly from its Durable Object, validates the generator DID, and preserves normal resolution for other accounts' feeds and existing fallback behavior. The PDS and dependency builds pass, and all 23 proxy tests pass; the three new regressions fail against unchanged upstream. A Cirrus 0.19.0 backport tested on our deployment reduced lookup time from about 3,010 ms (failed) to 75–156 ms (successful), and full feed retrieval from roughly five seconds to 2.54–2.78 seconds, with successful initial and cursor pages and no cross-page duplicates. These are live samples, not a controlled benchmark; the full monorepo test suite was not run.
Written with Claude Astra