Skip to content

fix: decouple page rendering from external blog feeds - #1104

Merged
tannerlinsley merged 1 commit into
mainfrom
agent/decouple-external-blog-feed
Aug 3, 2026
Merged

fix: decouple page rendering from external blog feeds#1104
tannerlinsley merged 1 commit into
mainfrom
agent/decouple-external-blog-feed

Conversation

@KevinVandy

@KevinVandy KevinVandy commented Aug 3, 2026

Copy link
Copy Markdown
Member
  • Keeps homepage recent posts internal-only.
  • Skips external blog fetches for unrelated libraries.
  • Preserves external posts on the main blog and Query/Router blog pages.
  • Adds a short failure backoff and regression tests.
  • Validated with pnpm test and pnpm run build.

Closes #1103

Summary by CodeRabbit

  • New Features
    • Blog content can now be filtered by library, showing relevant external posts for supported libraries.
    • Recent posts now consistently prioritize internal blog content.
  • Bug Fixes
    • Improved handling of external blog sources that support multiple libraries.
    • Temporarily prevents repeated requests after an external blog fetch fails, improving reliability and reducing unnecessary delays.

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 88f28633-d485-47b4-a492-9caf344a98f3

📥 Commits

Reviewing files that changed from the base of the PR and between bf00919 and ba8e026.

📒 Files selected for processing (3)
  • src/utils/blog.functions.ts
  • src/utils/external-blog-posts.server.ts
  • tests/external-blog-posts.test.ts

📝 Walkthrough

Walkthrough

External blog retrieval now filters sources by library and caches failures for one minute. Blog card aggregation separates internal posts from external posts. Recent posts use internal content only.

Changes

External blog scope and resilience

Layer / File(s) Summary
Source library filtering
src/utils/external-blog-posts.server.ts
External sources declare supported libraries. getExternalBlogPosts accepts an optional libraryId and fetches only matching sources.
External fetch failure cache
src/utils/external-blog-posts.server.ts, tests/external-blog-posts.test.ts
Failed source fetches use an expiring in-memory cache. Tests cover library inference, fetch eligibility, failure backoff, call counts, and global restoration.
Internal and external post projections
src/utils/blog.functions.ts
Library-specific blog retrieval passes the library ID to external fetching. Recent posts use sorted internal posts and retain the three-item projection.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant BlogRoute
  participant getBlogCardPosts
  participant getExternalBlogPosts
  participant ExternalSource
  BlogRoute->>getBlogCardPosts: request posts with optional libraryId
  getBlogCardPosts->>getExternalBlogPosts: retrieve matching external posts
  getExternalBlogPosts->>ExternalSource: fetch supported source
  ExternalSource-->>getExternalBlogPosts: return posts or failure
  getExternalBlogPosts-->>getBlogCardPosts: return external posts or empty list
  getBlogCardPosts-->>BlogRoute: combine external and internal posts
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes decoupling page rendering from external blog feeds, which is the primary change.
Linked Issues check ✅ Passed The changes satisfy issue #1103 by limiting external fetches and preserving required external and internal blog content.
Out of Scope Changes check ✅ Passed The implementation and regression tests directly support the linked issue objectives without unrelated changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/decouple-external-blog-feed

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
tanstack-com ba8e026 Commit Preview URL

Branch Preview URL
Aug 03 2026, 05:54 PM

@KevinVandy
KevinVandy marked this pull request as ready for review August 3, 2026 19:08
@tannerlinsley
tannerlinsley merged commit 55b6166 into main Aug 3, 2026
7 checks passed
@tannerlinsley
tannerlinsley deleted the agent/decouple-external-blog-feed branch August 3, 2026 21:17
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.

Decouple homepage rendering from external blog feed

2 participants