Skip to content

Next.js Link Component Deprecation Warnings #24685

@KartikLabhshetwar

Description

@KartikLabhshetwar

Issue Summary

The Cal.com codebase contains multiple instances of deprecated Next.js Link component usage that generate console warnings and are incompatible with newer versions of Next.js. Specifically, the legacyBehavior and passHref props are being used throughout the application, which have been deprecated in favor of modern Link component patterns. This affects 9+ components across the UI package and web application, causing console warnings and potential future compatibility issues.

Steps to Reproduce

  1. Start the Cal.com development server with yarn dev
  2. Open browser developer tools and navigate to the Console tab
  3. Navigate to any page that uses Link components (booking pages, app setup pages, auth pages, etc.)
  4. Observe console warnings about deprecated Link component usage
  5. Check components like Button, Dropdown, List, Stepper, and various app setup pages

Expected behavior: No deprecation warnings should appear in the console.
Actual behavior: Multiple deprecation warnings appear, such as:

Warning: Using legacyBehavior is deprecated and will be removed in a future major version
Warning: Using passHref is deprecated and will be removed in a future major version

Image Image

Actual Results

  • Console warnings appear when using Link components with legacyBehavior and passHref props
  • Code uses outdated Next.js Link patterns that are deprecated
  • Potential compatibility issues with future Next.js versions
  • Developer experience is degraded due to console noise

Expected Results

  • No deprecation warnings in the console
  • Modern Next.js Link component usage throughout the application
  • Future-proof code that's compatible with upcoming Next.js versions
  • Clean developer console experience

Technical details

Components Affected:
packages/ui/components/button/Button.tsx
packages/ui/components/dropdown/Dropdown.tsx
packages/ui/components/list/List.tsx
packages/ui/components/form/step/Stepper.tsx
apps/web/components/apps/make/Setup.tsx
apps/web/components/apps/zapier/Setup.tsx
apps/web/modules/auth/forgot-password/[id]/forgot-password-single-view.tsx
apps/web/modules/bookings/views/bookings-single-view.tsx
packages/app-store/_components/AppNotInstalledMessage.tsx

Metadata

Metadata

Assignees

No one assigned

    Labels

    🐛 bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions