Skip to content

Conversation

@NathanFlurry
Copy link
Member

No description provided.

@railway-app
Copy link

railway-app bot commented Jan 9, 2026

🚅 Deployed to the rivet-pr-3801 environment in rivet-frontend

Service Status Web Updated (UTC)
website ✅ Success (View Logs) Web Jan 9, 2026 at 7:27 am
frontend-cloud-staging 😴 Sleeping (View Logs) Web Jan 9, 2026 at 7:23 am
frontend-cloud ✅ Success (View Logs) Web Jan 9, 2026 at 7:17 am
frontend-inspector ✅ Success (View Logs) Web Jan 9, 2026 at 7:16 am

🚅 Deployed to the rivet-pr-3801 environment in rivet-frontend-website-preview

Service Status Web Updated (UTC)
website ❌ Build Failed (View Logs) Web Jan 9, 2026 at 6:55 am
frontend-cloud ❌ Build Failed (View Logs) Web Jan 9, 2026 at 6:55 am

@railway-app railway-app bot temporarily deployed to rivet-frontend / rivet-pr-3801 January 9, 2026 06:54 Destroyed
@railway-app railway-app bot temporarily deployed to rivet-frontend-website-preview / rivet-pr-3801 January 9, 2026 06:54 Destroyed
Copy link
Member Author


How to use the Graphite Merge Queue

Add the label merge-queue to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@claude
Copy link

claude bot commented Jan 9, 2026

PR Review: fix(website): fix building on next 16

Summary

This PR updates the website to be compatible with Next.js 16 by making necessary type and build configuration adjustments. The changes are minimal and focused on compatibility fixes.

Code Quality ✅

Positive aspects:

  • Changes are minimal and focused on the specific issue
  • Type safety improvements with Promise<Param> for async params
  • Follows Next.js 16 migration patterns correctly
  • All async param access properly awaited

Areas of concern:

  1. Missing type annotations in multiple files (lines 26-28, 63-64 in blog/page.tsx, 214 in OtherArticles function):
// Current
export async function generateMetadata({ params }): Promise<Metadata>
// Should be
export async function generateMetadata({ params }: { params: Promise<{ slug: string[] }> }): Promise<Metadata>

TypeScript best practice is to explicitly type function parameters. This appears in:

  • website/src/app/(v2)/(blog)/blog/[...slug]/page.tsx:26,63,214
  • website/src/app/(v2)/(blog)/changelog/[...slug]/page.tsx:17,49,131

Potential Bugs 🟡

No critical bugs identified, but worth noting:

  1. The --webpack flag added to the build script ("build": "pnpm prebuild && next build --webpack && next-sitemap") suggests forcing Webpack instead of using Turbopack. This is likely intentional for compatibility, but should be documented why Turbopack isn't used.

Performance Considerations ✅

  • Using --webpack instead of Turbopack may result in slower builds, but this appears necessary for Next.js 16 compatibility
  • No runtime performance impacts expected
  • Async params pattern is the recommended approach and doesn't add overhead

Security Concerns ✅

No security issues identified. All changes are type-related and build configuration.

Test Coverage ⚠️

Missing:

  • No tests included for the async params changes
  • Should verify that:
    • Static generation still works correctly
    • Params are properly awaited in all code paths
    • generateStaticParams returns correct shape

Recommendation: Add integration tests to verify the blog and changelog pages build correctly with static params.

TypeScript Configuration Changes 🔍

The tsconfig.json changes look correct:

  • Updated jsx from preserve to react-jsx (line 21)
  • Added .next/dev/types/**/*.ts to includes (line 44)
  • Reformatted but functionally equivalent

The next-env.d.ts change from triple-slash reference to import statement is required for Next.js 16 compatibility.

Recommendations

  1. Add explicit types to all function parameters currently using implicit any:

    interface PageProps {
      params: Promise<{ slug: string[] }>;
    }
    
    export async function generateMetadata({ params }: PageProps): Promise<Metadata>
    export default async function BlogPage({ params }: PageProps)
  2. Document the --webpack flag - Add a comment in package.json or README explaining why Webpack is used instead of Turbopack

  3. Test the build - Verify that:

    cd website && pnpm build

    Completes successfully and generates all static pages

  4. Minor: Consider extracting the interface definition to avoid duplication between generateMetadata and the page component

Approval Status: ✅ Approve with minor suggestions

The PR successfully addresses Next.js 16 compatibility. The missing type annotations are a style/best practice issue rather than a blocker. The functional changes are correct and follow Next.js migration patterns properly.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 9, 2026

More templates

@rivetkit/cloudflare-workers

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/cloudflare-workers@3801

@rivetkit/db

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/db@3801

@rivetkit/framework-base

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/framework-base@3801

@rivetkit/next-js

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/next-js@3801

@rivetkit/react

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/react@3801

rivetkit

pnpm add https://pkg.pr.new/rivet-dev/rivet/rivetkit@3801

@rivetkit/sql-loader

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/sql-loader@3801

@rivetkit/virtual-websocket

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/virtual-websocket@3801

@rivetkit/engine-runner

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/engine-runner@3801

@rivetkit/engine-runner-protocol

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/engine-runner-protocol@3801

commit: ea56e11

@NathanFlurry NathanFlurry force-pushed the 01-08-fix_website_fix_building_on_next_16 branch from 2ba57c8 to 29c77cd Compare January 9, 2026 07:14
@railway-app railway-app bot temporarily deployed to rivet-frontend / rivet-pr-3801 January 9, 2026 07:14 Destroyed
@NathanFlurry NathanFlurry force-pushed the 01-08-fix_website_fix_building_on_next_16 branch from 29c77cd to ea56e11 Compare January 9, 2026 07:23
@railway-app railway-app bot temporarily deployed to rivet-frontend / rivet-pr-3801 January 9, 2026 07:23 Destroyed
@graphite-app
Copy link
Contributor

graphite-app bot commented Jan 9, 2026

Merge activity

  • Jan 9, 7:32 AM UTC: NathanFlurry added this pull request to the Graphite merge queue.
  • Jan 9, 7:32 AM UTC: CI is running for this pull request on a draft pull request (#3802) due to your merge queue CI optimization settings.
  • Jan 9, 7:33 AM UTC: Merged by the Graphite merge queue via draft PR: #3802.

graphite-app bot pushed a commit that referenced this pull request Jan 9, 2026
@graphite-app graphite-app bot closed this Jan 9, 2026
@graphite-app graphite-app bot deleted the 01-08-fix_website_fix_building_on_next_16 branch January 9, 2026 07:33
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