[ENG-439] Bump Summit Nextjs Version - #32
Conversation
📝 WalkthroughWalkthroughUpdated project dependencies (Next.js, React, typings, linting), TypeScript/Next typing imports, minor Next config and tsconfig adjustments, UI component tweaks (sidebar theme guard, DayPicker chevron consolidation), and renamed/modified proxy middleware export and config. No public API surface behavior besides the proxy export name change. Changes
Sequence Diagram(s)(omitted — changes are not a single new multi-component control flow requiring sequence visualization) Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Comment |
PR Check Results✅ Tests PassedTest Output✅ Build PassedBuild Output |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @package.json:
- Line 44: The package.json currently pins the Next.js dependency to a canary
version; update the "next" entry to the released secure version "15.4.8"
(replace the existing "next" value), then regenerate lockfiles by running your
package manager (npm install / yarn install / pnpm install), run test suite and
build to verify compatibility, run npm audit or your vulnerability scanner to
confirm the CVE is resolved, and deploy the updated build; ensure any CI caching
of node_modules or lockfiles is refreshed so the new version is used in
production.
🧹 Nitpick comments (1)
package.json (1)
76-76: Updateeslint-config-nextto match Next.js.
eslint-config-nextis at version15.3.0while Next.js is at15.4.8. Updateeslint-config-nextto15.4.8(or15.5.9for the latest compatible patch) to ensure linting rules align with the current Next.js version.
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (1)
package.json
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/proxy.ts (1)
178-190: Critical: Addruntime: 'nodejs'to middleware config.This middleware performs database operations using Drizzle ORM with the
pgdriver (lines 103–138), which requires Node.js runtime. Without explicitly settingruntime: 'nodejs', this middleware defaults to Edge runtime where thepgdriver is incompatible.The fix is to restore the runtime configuration:
Suggested fix
export const config = { matcher: [ '/((?!_next/static|_next/image|favicon.ico|images|public).*)', ], runtime: 'nodejs', };Next.js 15 provides stable support for Node.js middleware, so this is the correct approach for your use case.
🤖 Fix all issues with AI agents
In @src/components/ui/calendar.tsx:
- Around line 63-69: The Chevron component only handles "left"/"right" and
incorrectly spreads v9 props to icon components; update the Chevron
implementation to accept and destructure { orientation, className, disabled,
size, ...props } and handle four orientations ("left","right","up","down") by
selecting the correct icon (use ChevronLeft, ChevronRight, ChevronUp,
ChevronDown or rotate an existing icon) and wrapping the icon in a container
element that receives className, disabled state, and size-based classes instead
of passing those props to the icon; ensure the container forwards remaining
props and that the icon itself only receives presentational props (e.g.,
className for sizing/rotation) so react-day-picker v9 props are properly mapped.
In @src/proxy.ts:
- Line 26: The middleware file is misnamed and the exported function is called
proxy, so Next.js never runs it; rename src/proxy.ts to middleware.ts and change
the export to a named export called middleware (export async function
middleware(request: NextRequest) { ... }) OR create a new src/middleware.ts that
imports { proxy } from './proxy' and re-exports it as export { proxy as
middleware }, ensuring the function signature and NextRequest import match
Next.js middleware requirements.
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (3)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yamlpublic/images/logomark.pngis excluded by!**/*.pngpublic/images/logomark_dark.pngis excluded by!**/*.png
📒 Files selected for processing (7)
next-env.d.tsnext.config.tspackage.jsonsrc/components/layout/Sidebar.tsxsrc/components/ui/calendar.tsxsrc/proxy.tstsconfig.json
💤 Files with no reviewable changes (1)
- next.config.ts
✅ Files skipped from review due to trivial changes (1)
- tsconfig.json
🚧 Files skipped from review as they are similar to previous changes (1)
- package.json
🧰 Additional context used
🧬 Code graph analysis (1)
src/components/ui/calendar.tsx (1)
src/lib/utils.ts (1)
cn(7-9)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: test-and-build
🔇 Additional comments (2)
next-env.d.ts (1)
3-3: LGTM! Typed routes support added.This import is automatically generated by Next.js 15.5+ when typed routes are enabled and provides type-safe route navigation.
src/components/layout/Sidebar.tsx (1)
42-50: LGTM! Proper SSR hydration guard implemented.The mounting guard correctly prevents hydration mismatches by ensuring theme-dependent content (the logo) only renders with the correct theme after client-side mount. This follows the recommended pattern for using next-themes with server-side rendering.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.