Skip to content

feat: create Pulse section for bi-weekly community & ecosystem updates#44

Closed
linnnsss wants to merge 7 commits intonervosnetwork:masterfrom
linnnsss:pulse
Closed

feat: create Pulse section for bi-weekly community & ecosystem updates#44
linnnsss wants to merge 7 commits intonervosnetwork:masterfrom
linnnsss:pulse

Conversation

@linnnsss
Copy link
Copy Markdown
Contributor

This PR introduces a new Pulse category to the blog to highlight community innovations and ecosystem contributions. While the DevLog focuses on internal engineering progress, Pulse is designed to showcase external builder activity around Fiber.

Key Changes:

  • Content Loader: Added a new pulse loader in lib/source.ts to fetch markdown files from content/pulse/.
  • Blog UI: Integrated a new "Pulse" filter on the main blog page and updated the list logic to merge Pulse posts with existing articles.
  • Dynamic Routing: Created a dedicated template at app/blog/pulse/[id]/page.tsx for individual Pulse posts.
  • Type Safety: Updated the shared type.ts to support the new pulse document type.

Note: This is a Draft PR for initial feedback from the working group.

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 13, 2026

@linnnsss is attempting to deploy a commit to the cryptape Team on Vercel.

A member of the Team first needs to authorize it.

@linnnsss linnnsss marked this pull request as ready for review March 13, 2026 01:25
@RetricSu RetricSu requested review from RetricSu and Copilot and removed request for Copilot March 16, 2026 07:05
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new “Pulse” blog category to publish bi-weekly community/ecosystem updates alongside existing Blog and Devlog content.

Changes:

  • Adds a new pulsePosts content collection and pulse loader sourcing from content/pulse/.
  • Introduces a dedicated Pulse post route at /blog/pulse/[id] and merges Pulse posts into the main blog listing.
  • Extends shared blog post typing and adds a “Pulse” filter option in the blog UI.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
source.config.ts Defines a new pulsePosts collection schema for content/pulse.
lib/source.ts Exposes a new pulse loader with /blog/pulse base URL.
content/pulse/issue-01.md Adds the first Pulse issue post content.
app/blog/type.ts Extends BlogPost.type union to include "pulse".
app/blog/pulse/[id]/page.tsx Adds Pulse post page rendering + static params + metadata.
app/blog/page.tsx Loads Pulse posts server-side and merges them into the blog list.
app/blog/BlogClientFilter.tsx Adds “Pulse” category and routes Pulse links to /blog/pulse/....
Comments suppressed due to low confidence (1)

app/blog/BlogClientFilter.tsx:1

  • The ternary chain is malformed: line 22 begins with ? allPosts.filter(...) without a preceding condition (it looks like selectedCategory === "Article" was removed/mis-indented). This will not compile and breaks filtering logic. Re-introduce the missing condition or refactor to a clear switch/if chain to avoid this class of error.
"use client";

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +7 to +13
interface BlogPostProps {
params: Promise<{ slug: string }>;
}

export default async function BlogPostPage({ params }: BlogPostProps) {
const { id } = await params;
const page = pulse.getPage([id]);
Comment on lines +22 to +23
// Use today's date if no date is provided
const postDate = page.data.date || new Date().toISOString().split('T')[0];
Comment on lines +54 to +60
<time className="font-mono">
{new Date(postDate).toLocaleDateString('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
})}
</time>
Comment on lines +128 to +134
// Generate static params for all blog posts
export async function generateStaticParams() {
const pages = pulse.getPages();
return pages.map((page) => ({
id: page.slugs[0],
}));
}
Comment on lines 44 to 50
<Link href={`/blog/pulse/${post.id}`} className="block">
{children}
</Link>
);
} else {
return (
<Link href={`/blog/p/${post.id}`} className="block">
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
fiber-docs Error Error Mar 17, 2026 4:21am

Request Review

@RetricSu
Copy link
Copy Markdown
Collaborator

RetricSu commented Mar 16, 2026

build failed on vercel:

16:51:36.566 
16:51:36.763 
[MDX] updated map file in 56.36571500000002ms
16:51:36.777 
   Creating an optimized production build ...
16:51:52.403 
 ✓ Compiled successfully in 15.0s
16:51:52.408 
   Linting and checking validity of types ...
16:51:56.665 
Failed to compile.
16:51:56.665 
16:51:56.666 
app/blog/pulse/[id]/page.tsx
16:51:56.666 
Type error: Type 'PulsePostProps' does not satisfy the constraint 'PageProps'.
16:51:56.666 
  Types of property 'params' are incompatible.
16:51:56.666 
    Type '{ id: string; }' is missing the following properties from type 'Promise<any>': then, catch, finally, [Symbol.toStringTag]
16:51:56.666 
16:51:56.692 
Next.js build worker exited with code: 1 and signal: null
16:51:56.754 
 ELIFECYCLE  Command failed with exit code 1.
16:51:56.776 
Error: Command "pnpm run build" exited with 1

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
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.

4 participants