Skip to content

chore(deps): update dependency Next.js to v16#3003

Open
gauthier-th wants to merge 1 commit into
developfrom
chore/upgrade-next
Open

chore(deps): update dependency Next.js to v16#3003
gauthier-th wants to merge 1 commit into
developfrom
chore/upgrade-next

Conversation

@gauthier-th
Copy link
Copy Markdown
Member

@gauthier-th gauthier-th commented May 8, 2026

Description

Update Next.js to v16. I ran the codemod and everything went fine.

How Has This Been Tested?

N/A

Checklist:

  • I have read and followed the contribution guidelines.
  • Disclosed any use of AI (see our policy)
  • I have updated the documentation accordingly.
  • All new and existing tests passed.
  • Successful build pnpm build
  • Translation keys pnpm i18n:extract
  • Database migration (if required)

Summary by CodeRabbit

  • Chores

    • Upgraded and pinned Next/React and related packages; updated TS config, CI workflow triggers, and formatter ignore list; migrated SVG handling to the new bundler rules.
  • New Features

    • Replaced notification system with a new global toaster and introduced a project toast hook for unified notifications.
  • Refactor

    • Standardized TypeScript/JSX imports and explicit return typings across UI components; converted Next config to a typed export.
  • Bug Fixes

    • Desktop sidebar logo now loads eagerly to improve perceived load performance.

@gauthier-th gauthier-th requested a review from a team as a code owner May 8, 2026 12:24
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 8, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Upgrades Next.js to 16 and React to 19; converts next.config to typed TypeScript with a turbopack SVG rule; updates tsconfig settings; pins dependencies; migrates toast system to react-hot-toast with a new useToasts hook and Toaster in _app; replaces consumer imports across many components; adds explicit JSX type imports and small typings/UI/CI/prettier tweaks.

Changes

React 19 and Next.js 16 Upgrade

Layer / File(s) Summary
Dependencies and Framework Versions
package.json
Next.js upgraded to 16.2.6; React/React-DOM upgraded to 19.2.6; dev tooling and type packages pinned (@next/eslint-plugin-next@16.2.6, eslint-config-next@16.2.6, @types/react@19.2.14, @types/react-dom@19.2.3); pnpm.overrides extended.
TypeScript Compiler Configuration
tsconfig.json, server/tsconfig.json
Root tsconfig.json: moduleResolutionbundler, jsxreact-jsx; server/tsconfig.json adds moduleResolution: "node".
Next.js Configuration and Type Definitions
next.config.ts, next-env.d.ts, .prettierignore
next.config.ts converted to typed NextConfig export; turbopack.rules added for *.svg -> @svgr/webpack (as: '*.js'); retains env/images/transpile/experimental settings; next-env.d.ts imports generated route types and updates NOTE URL; .prettierignore adds next-env.d.ts.
CI Workflow Paths
.github/workflows/cypress.yml
Workflow path filters updated to reference next.config.ts instead of next.config.js for pull_request and develop push triggers.
Toast infrastructure & provider
src/hooks/useToasts.tsx, src/components/Toast/index.tsx, src/pages/_app.tsx
Add useToasts hook using react-hot-toast (addToast/removeToast), define local ToastProps, add Transition appear; replace old provider/ToastContainer with a configured Toaster in _app.
Toast consumer migration
many src/components/**, src/hooks/useDiscover.ts
Numerous components and hooks now import useToasts from @app/hooks/useToasts instead of react-toast-notifications, preserving addToast/removeToast usage.
JSX Type Imports and Annotations
src/components/Common/*, src/pages/_document.tsx, src/components/Slider, etc.
Add type-only JSX imports and explicit JSX.Element return annotations where applied (e.g., Button).
Type Signature Refinements
src/components/Common/Tooltip/index.tsx, src/hooks/{useClickOutside,useVerticalScroll}.ts
Tooltip.children relaxed to React.ReactElement<any>; useClickOutside ref widened to `RefObject<HTMLElement
Notifications minor fix
src/components/Settings/Notifications/NotificationsGotify/index.tsx
Fix toast options for Gotify test sending to use autoDismiss: false.
UI: Sidebar Image Loading
src/components/Layout/Sidebar/index.tsx
Desktop sidebar logo now uses next/image with loading="eager".

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested reviewers

  • M0NsTeRRR
  • fallenbagel

Poem

🐰 I hopped through types and updated next,
Pins set, JSX imports tucked in my vest.
Turbopack hums and toasts now pop on cue,
CI and prettier follow through —
A tidy hop, a cozy code nest.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: upgrading Next.js to version 16, which is the primary objective and encompasses the major dependency update and configuration changes throughout the PR.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/hooks/useClickOutside.ts (1)

22-26: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Pre-existing listener leak: removeEventListener is missing the { capture: true } flag.

The listener registered at line 22 with { capture: true } will never be removed by the cleanup at line 25, because removeEventListener without a matching capture flag targets the bubble phase — a different listener entirely. Since [ref, callback] are dependencies, each re-registration adds a new capture-phase listener that accumulates without being cleaned up.

🐛 Proposed fix
-      document.body.removeEventListener('click', handleBodyClick);
+      document.body.removeEventListener('click', handleBodyClick, { capture: true });
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/hooks/useClickOutside.ts` around lines 22 - 26, The cleanup is removing
the wrong listener because removeEventListener omits the capture flag; update
the cleanup in useClickOutside so it calls
document.body.removeEventListener('click', handleBodyClick, { capture: true })
to match the registration (document.body.addEventListener('click',
handleBodyClick, { capture: true })), ensuring handleBodyClick registrations are
properly removed when dependencies change.
package.json (1)

41-41: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

@headlessui/react@1.7.19 is incompatible with React 19 and will cause runtime errors.

@headlessui/react v1.7.19 accesses React's internal SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, which was renamed in React 19. This produces a runtime import error: 'SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' is not exported from 'react'.

The minimum compatible version is @headlessui/react@2.2.0+ (full React 19 support added October 2024). Use the latest stable v2.2.9 or higher. Note that upgrading from v1 → v2 involves breaking API changes and requires a migration pass across all Headless UI usage in the codebase (currently 34+ component files).

🔧 Suggested version bump
-    "@headlessui/react": "1.7.19",
+    "@headlessui/react": "^2.2.9",
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package.json` at line 41, package.json currently pins "@headlessui/react" to
"1.7.19", which is incompatible with React 19; update the dependency entry for
"@headlessui/react" to a React‑19 compatible release (e.g. "2.2.9" or later),
run your package manager to update the lockfile (npm/yarn/pnpm install), then
perform the required migration across Headless UI usages (search for all imports
of "@headlessui/react" and update component APIs per the v2 migration guide
across the ~34+ component files), run the test suite and smoke the UI to verify
behavior, and commit the updated package.json and lockfile.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@package.json`:
- Line 41: package.json currently pins "@headlessui/react" to "1.7.19", which is
incompatible with React 19; update the dependency entry for "@headlessui/react"
to a React‑19 compatible release (e.g. "2.2.9" or later), run your package
manager to update the lockfile (npm/yarn/pnpm install), then perform the
required migration across Headless UI usages (search for all imports of
"@headlessui/react" and update component APIs per the v2 migration guide across
the ~34+ component files), run the test suite and smoke the UI to verify
behavior, and commit the updated package.json and lockfile.

In `@src/hooks/useClickOutside.ts`:
- Around line 22-26: The cleanup is removing the wrong listener because
removeEventListener omits the capture flag; update the cleanup in
useClickOutside so it calls document.body.removeEventListener('click',
handleBodyClick, { capture: true }) to match the registration
(document.body.addEventListener('click', handleBodyClick, { capture: true })),
ensuring handleBodyClick registrations are properly removed when dependencies
change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c4db1cb9-918c-4a72-9f12-d6c89fba766f

📥 Commits

Reviewing files that changed from the base of the PR and between 99f8520 and d0d8046.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (16)
  • next-env.d.ts
  • next.config.ts
  • package.json
  • server/tsconfig.json
  • src/components/Common/Accordion/index.tsx
  • src/components/Common/Button/index.tsx
  • src/components/Common/Tag/index.tsx
  • src/components/Common/Tooltip/index.tsx
  • src/components/Layout/MobileMenu/index.tsx
  • src/components/Login/index.tsx
  • src/components/ManageSlideOver/index.tsx
  • src/components/Slider/index.tsx
  • src/hooks/useClickOutside.ts
  • src/hooks/useVerticalScroll.ts
  • src/pages/_document.tsx
  • tsconfig.json

@cypress
Copy link
Copy Markdown

cypress Bot commented May 8, 2026

seerr    Run #3454

Run Properties:  status check passed Passed #3454  •  git commit 27454450d1: chore(deps): update dependency Next.js to v16
Project seerr
Branch Review chore/upgrade-next
Run status status check passed Passed #3454
Run duration 02m 17s
Commit git commit 27454450d1: chore(deps): update dependency Next.js to v16
Committer Gauthier
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 32
View all changes introduced in this branch ↗︎

@gauthier-th gauthier-th force-pushed the chore/upgrade-next branch 5 times, most recently from 72d97c1 to af01e2d Compare May 8, 2026 14:21
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/components/Settings/SettingsJellyfin.tsx (1)

96-110: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

useToasts() is called twice in the same component — consolidate to a single call.

Line 96 stores the full hook return as toasts, then line 110 destructures addToast from a second useToasts() call. This is a migration artifact: syncLibraries uses toasts.addToast(...) while the Formik submit handler uses addToast(...) directly. Both are functionally identical since the hook has no internal state, but maintaining two hook instances is misleading and wasteful.

🛠️ Proposed fix
-  const toasts = useToasts();
   ...
-  const { addToast } = useToasts();
+  const { addToast } = useToasts();

Then replace the three toasts.addToast(...) calls in syncLibraries with addToast(...):

-        toasts.addToast(
+        addToast(
           intl.formatMessage(
             messages.jellyfinSyncFailedAutomaticGroupedFolders
           ),
           ...

-        toasts.addToast(
+        addToast(
           intl.formatMessage(messages.jellyfinSyncFailedNoLibrariesFound),
           ...

-        toasts.addToast(
+        addToast(
           intl.formatMessage(messages.jellyfinSyncFailedGenericError),
           ...
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/Settings/SettingsJellyfin.tsx` around lines 96 - 110, You have
two useToasts() calls; remove the first variable assignment "toasts" and keep
the single destructured call that provides "addToast" (the one currently on line
110), then update all uses of toasts.addToast(...) (notably inside the
syncLibraries function) to call addToast(...) directly and delete the redundant
useToasts() invocation so the component uses one toast hook instance.
♻️ Duplicate comments (1)
src/components/Settings/Notifications/NotificationsNtfy/index.tsx (1)

154-201: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Same 3-arg addToast callback concern as NotificationsDiscord.tsx.

This file uses the identical pattern — capturing toastId via the third callback argument and then calling removeToast(toastId). The same risk applies: if src/hooks/useToasts.tsx does not invoke the callback with the generated ID, the "Sending ntfy test notification…" toast will never be dismissed.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/Settings/Notifications/NotificationsNtfy/index.tsx` around
lines 154 - 201, The testSettings function relies on the third callback argument
of addToast to capture toastId (same issue as NotificationsDiscord.tsx); change
it to not depend on that callback: have addToast return the toast id (or read
the id from the API you use) and assign toastId from the return value of
addToast when calling it in testSettings, then call removeToast(toastId) using
that returned id; reference addToast, removeToast and testSettings so you update
the call sites here to ensure the "Sending ntfy test notification…" toast is
always dismissible regardless of whether the callback is invoked.
🧹 Nitpick comments (1)
src/hooks/useToasts.tsx (1)

9-44: ⚡ Quick win

addToast and removeToast should be wrapped in useCallback to provide stable references.

Both functions are recreated on every render. Since toast from react-hot-toast is a stable module-level import, these functions have no render-cycle dependencies and can use empty dependency arrays. Without this, any consumer that places them in a useCallback or useEffect dep array — such as MovieRequestModal.tsx, which lists addToast at line 141 — effectively disables memoization because the reference changes every render.

♻️ Proposed fix
+import { useCallback } from 'react';
 import Toast from '@app/components/Toast';
 import { toast } from 'react-hot-toast';
 
 ...
 
 export const useToasts = () => {
-  const addToast = (
+  const addToast = useCallback((
     message: React.ReactNode,
     options?: ToastOptions,
     callback?: (id: string) => void
   ) => {
     const id = toast.custom(
       (t) => (
         <Toast
           appearance={options?.appearance || 'info'}
           onDismiss={() => toast.dismiss(t.id)}
           transitionState={t.visible ? 'entered' : 'exiting'}
         >
           {message}
         </Toast>
       ),
       {
         duration: options?.autoDismiss !== false ? 4000 : Infinity,
       }
     );
     if (callback) {
       callback(id);
     }
-  };
+  }, []);
 
-  const removeToast = (id: string) => {
+  const removeToast = useCallback((id: string) => {
     toast.dismiss(id);
-  };
+  }, []);
 
   return { addToast, removeToast };
 };
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/hooks/useToasts.tsx` around lines 9 - 44, The addToast and removeToast
functions in useToasts are recreated every render; wrap both addToast and
removeToast in React.useCallback with empty dependency arrays to provide stable
references (keep current behavior: use the existing toast.custom call and
options handling inside addToast, and toast.dismiss inside removeToast), and
ensure any callback parameter handling (the optional callback in addToast)
remains unchanged; update the useToasts export to return these memoized
functions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@src/components/Settings/SettingsJellyfin.tsx`:
- Around line 96-110: You have two useToasts() calls; remove the first variable
assignment "toasts" and keep the single destructured call that provides
"addToast" (the one currently on line 110), then update all uses of
toasts.addToast(...) (notably inside the syncLibraries function) to call
addToast(...) directly and delete the redundant useToasts() invocation so the
component uses one toast hook instance.

---

Duplicate comments:
In `@src/components/Settings/Notifications/NotificationsNtfy/index.tsx`:
- Around line 154-201: The testSettings function relies on the third callback
argument of addToast to capture toastId (same issue as
NotificationsDiscord.tsx); change it to not depend on that callback: have
addToast return the toast id (or read the id from the API you use) and assign
toastId from the return value of addToast when calling it in testSettings, then
call removeToast(toastId) using that returned id; reference addToast,
removeToast and testSettings so you update the call sites here to ensure the
"Sending ntfy test notification…" toast is always dismissible regardless of
whether the callback is invoked.

---

Nitpick comments:
In `@src/hooks/useToasts.tsx`:
- Around line 9-44: The addToast and removeToast functions in useToasts are
recreated every render; wrap both addToast and removeToast in React.useCallback
with empty dependency arrays to provide stable references (keep current
behavior: use the existing toast.custom call and options handling inside
addToast, and toast.dismiss inside removeToast), and ensure any callback
parameter handling (the optional callback in addToast) remains unchanged; update
the useToasts export to return these memoized functions.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f0549c02-c01a-4345-8d7d-bf7445b43b2f

📥 Commits

Reviewing files that changed from the base of the PR and between 5a46b62 and af01e2d.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (79)
  • .github/workflows/cypress.yml
  • .prettierignore
  • next-env.d.ts
  • next.config.ts
  • package.json
  • server/tsconfig.json
  • src/components/Blocklist/index.tsx
  • src/components/BlocklistBlock/index.tsx
  • src/components/CollectionDetails/index.tsx
  • src/components/Common/Accordion/index.tsx
  • src/components/Common/Button/index.tsx
  • src/components/Common/Tag/index.tsx
  • src/components/Common/Tooltip/index.tsx
  • src/components/Discover/CreateSlider/index.tsx
  • src/components/Discover/DiscoverSliderEdit/index.tsx
  • src/components/Discover/index.tsx
  • src/components/IssueDetails/index.tsx
  • src/components/IssueModal/CreateIssueModal/index.tsx
  • src/components/Layout/MobileMenu/index.tsx
  • src/components/Layout/Sidebar/index.tsx
  • src/components/Login/AddEmailModal.tsx
  • src/components/Login/JellyfinLogin.tsx
  • src/components/Login/index.tsx
  • src/components/ManageSlideOver/index.tsx
  • src/components/MovieDetails/index.tsx
  • src/components/RequestCard/index.tsx
  • src/components/RequestList/RequestItem/index.tsx
  • src/components/RequestModal/CollectionRequestModal.tsx
  • src/components/RequestModal/MovieRequestModal.tsx
  • src/components/RequestModal/TvRequestModal.tsx
  • src/components/Settings/CopyButton.tsx
  • src/components/Settings/Notifications/NotificationsDiscord.tsx
  • src/components/Settings/Notifications/NotificationsEmail.tsx
  • src/components/Settings/Notifications/NotificationsGotify/index.tsx
  • src/components/Settings/Notifications/NotificationsNtfy/index.tsx
  • src/components/Settings/Notifications/NotificationsPushbullet/index.tsx
  • src/components/Settings/Notifications/NotificationsPushover/index.tsx
  • src/components/Settings/Notifications/NotificationsSlack/index.tsx
  • src/components/Settings/Notifications/NotificationsTelegram.tsx
  • src/components/Settings/Notifications/NotificationsWebPush/index.tsx
  • src/components/Settings/Notifications/NotificationsWebhook/index.tsx
  • src/components/Settings/OverrideRule/OverrideRuleModal.tsx
  • src/components/Settings/RadarrModal/index.tsx
  • src/components/Settings/SettingsJellyfin.tsx
  • src/components/Settings/SettingsJobsCache/index.tsx
  • src/components/Settings/SettingsLogs/index.tsx
  • src/components/Settings/SettingsMain/index.tsx
  • src/components/Settings/SettingsMetadata.tsx
  • src/components/Settings/SettingsNetwork/index.tsx
  • src/components/Settings/SettingsPlex.tsx
  • src/components/Settings/SettingsUsers/index.tsx
  • src/components/Settings/SonarrModal/index.tsx
  • src/components/Setup/JellyfinSetup.tsx
  • src/components/Setup/index.tsx
  • src/components/Slider/index.tsx
  • src/components/TitleCard/index.tsx
  • src/components/Toast/index.tsx
  • src/components/ToastContainer/index.tsx
  • src/components/TvDetails/index.tsx
  • src/components/UserList/BulkEditModal.tsx
  • src/components/UserList/JellyfinImportModal.tsx
  • src/components/UserList/PlexImportModal.tsx
  • src/components/UserList/index.tsx
  • src/components/UserProfile/UserSettings/UserGeneralSettings/index.tsx
  • src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsDiscord.tsx
  • src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsEmail.tsx
  • src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsPushbullet.tsx
  • src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsPushover.tsx
  • src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsTelegram.tsx
  • src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsWebPush/index.tsx
  • src/components/UserProfile/UserSettings/UserPasswordChange/index.tsx
  • src/components/UserProfile/UserSettings/UserPermissions/index.tsx
  • src/hooks/useClickOutside.ts
  • src/hooks/useDiscover.ts
  • src/hooks/useToasts.tsx
  • src/hooks/useVerticalScroll.ts
  • src/pages/_app.tsx
  • src/pages/_document.tsx
  • tsconfig.json
💤 Files with no reviewable changes (1)
  • src/components/ToastContainer/index.tsx
✅ Files skipped from review due to trivial changes (19)
  • .prettierignore
  • src/components/Login/AddEmailModal.tsx
  • src/components/Layout/Sidebar/index.tsx
  • src/components/CollectionDetails/index.tsx
  • server/tsconfig.json
  • src/components/Layout/MobileMenu/index.tsx
  • src/components/BlocklistBlock/index.tsx
  • src/components/ManageSlideOver/index.tsx
  • src/pages/_document.tsx
  • src/components/Slider/index.tsx
  • src/components/Settings/SettingsLogs/index.tsx
  • src/components/Common/Tooltip/index.tsx
  • src/hooks/useClickOutside.ts
  • src/components/Login/index.tsx
  • package.json
  • src/components/Common/Accordion/index.tsx
  • .github/workflows/cypress.yml
  • src/hooks/useVerticalScroll.ts
  • src/components/Common/Tag/index.tsx
🚧 Files skipped from review as they are similar to previous changes (4)
  • next-env.d.ts
  • next.config.ts
  • src/components/Common/Button/index.tsx
  • tsconfig.json

@gauthier-th gauthier-th force-pushed the chore/upgrade-next branch from af01e2d to af21775 Compare May 8, 2026 14:51
Copy link
Copy Markdown
Collaborator

@fallenbagel fallenbagel left a comment

Choose a reason for hiding this comment

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

CI failing due to formatting

@gauthier-th
Copy link
Copy Markdown
Member Author

CI failing due to formatting

It's expected. Next.js v16 is modifiying next-end.d.ts everytime it's running in dev env.
I added it to .prettierignore but it's failing in this PR.

@github-actions github-actions Bot added the merge conflict Cannot merge due to merge conflicts label May 9, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 9, 2026

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@fallenbagel
Copy link
Copy Markdown
Collaborator

CI failing due to formatting

It's expected. Next.js v16 is modifiying next-end.d.ts everytime it's running in dev env.
I added it to .prettierignore but it's failing in this PR.

https://github.com/seerr-team/seerr/blob/develop/.prettierrc.js#L36-L41

I think you need something similar like this maybe.

@gauthier-th gauthier-th force-pushed the chore/upgrade-next branch from af21775 to ed14eae Compare May 10, 2026 18:57
@gauthier-th gauthier-th force-pushed the chore/upgrade-next branch from ed14eae to 2745445 Compare May 10, 2026 19:44
@github-actions github-actions Bot removed the merge conflict Cannot merge due to merge conflicts label May 10, 2026
@gauthier-th gauthier-th requested a review from fallenbagel May 11, 2026 16:18
@M0NsTeRRR M0NsTeRRR added this to the v3.3.0 milestone May 12, 2026
Copy link
Copy Markdown
Member

@M0NsTeRRR M0NsTeRRR left a comment

Choose a reason for hiding this comment

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

Did basic testing LGTM.

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.

3 participants