- 
                Notifications
    You must be signed in to change notification settings 
- Fork 10.9k
Description
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
- Start the Cal.com development server with yarn dev
- Open browser developer tools and navigate to the Console tab
- Navigate to any page that uses Link components (booking pages, app setup pages, auth pages, etc.)
- Observe console warnings about deprecated Link component usage
- 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
 
 
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