Skip to content

Resolve personal feeds from the account's local repository - #249

Open
simnaut wants to merge 1 commit into
ascorbic:mainfrom
simnaut:fix/local-feed-resolution
Open

Resolve personal feeds from the account's local repository#249
simnaut wants to merge 1 commit into
ascorbic:mainfrom
simnaut:fix/local-feed-resolution

Conversation

@simnaut

@simnaut simnaut commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

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

@pkg-pr-new

pkg-pr-new Bot commented Sep 14, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/create-pds@249
npm i https://pkg.pr.new/@getcirrus/oauth-provider@249
npm i https://pkg.pr.new/@getcirrus/pds@249

commit: bf98887

@simnaut
simnaut marked this pull request as ready for review September 14, 2026 02:51
Copilot AI lite review requested due to automatic review settings September 14, 2026 02:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants