-
Notifications
You must be signed in to change notification settings - Fork 128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Close #[issue_id] #1135
base: testnet
Are you sure you want to change the base?
Close #[issue_id] #1135
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
@Daveside9 is attempting to deploy a commit to the LFG Labs Team on Vercel. A member of the Team first needs to authorize it. |
WalkthroughThis pull request updates the Next.js dependency in the project by bumping its version in the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant AutoRenewalPage
User->>AutoRenewalPage: Navigate to subscription page
AutoRenewalPage-->>User: Render subscription details with Cancel Subscription button
User->>AutoRenewalPage: Click "Cancel Subscription" button
AutoRenewalPage-->>User: Initiate cancellation process
Suggested labels
Warning There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure. 🔧 ESLint
npm warn config production Use ✨ Finishing Touches
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
package-lock.json
is excluded by!**/package-lock.json
📒 Files selected for processing (3)
package.json
(1 hunks)pages/subscription.tsx
(1 hunks)styles/search.module.css
(1 hunks)
🔇 Additional comments (2)
package.json (1)
40-40
:❓ Verification inconclusive
Verify compatibility with Next.js 15
You've updated Next.js from version 14 to 15, which is a major version upgrade that might include breaking changes. This could impact your application functionality.
🌐 Web query:
What are the breaking changes in Next.js 15 compared to Next.js 14?
💡 Result:
Next.js 15 introduces several breaking changes compared to version 14, requiring careful migration. Here are the key updates developers need to address:
Breaking Changes
1. Asynchronous Request APIs
cookies()
,headers()
,draftMode
, andsearchParams
are now asynchronous[4][11][12]// Before (v14) const cookieStore = cookies(); const token = cookieStore.get('token'); // After (v15) const cookieStore = await cookies(); const token = cookieStore.get('token');This change affects authentication flows like Auth0's
getSession
[12]2. Caching Semantics Overhaul
fetch
requests and client navigations no longer cached by default- Explicit cache control required via
no-store
orforce-cache
[4][7][13]// v15 requires explicit caching fetch(url, { cache: 'force-cache' });3. React 19 Requirement
- Minimum React version upgraded to 19 RC
useFormState
deprecated in favor ofuseActionState
[7][11]4. Image Handling Changes
- Removed
squoosh
in favor ofsharp
(requires manual installation)- Default
Content-Disposition
changed toattachment
[7][9]5. Form Component Migration
- New
<Form>
component replaces previous form handling- Requires updating form actions and client-side navigation[4][7]
// v15 Form component import { Form } from 'next/form'; <Form action="/search">{/* Inputs */}</Form>6. Security Updates
- Server Actions now use unguessable IDs
- Dead code elimination removes unused server actions[4][7]
Migration Strategy
Use Codemods
npx @next/codemod@canary upgrade latestAutomates 80%+ of breaking changes[7][11]
Update Dependencies
npm install next@latest react@rc react-dom@rcAddress Key Areas:
- Convert synchronous API calls to async/await
- Add explicit cache control to fetch requests
- Migrate image processing to
sharp
- Update form components and authentication flows
Note: While Next.js 15 contains breaking changes, most App Router users won't be affected[7]. The migration focuses on:
- Async API conversion
- Cache strategy adjustments
- Dependency updates
- Security hardening
Developers should test extensively after upgrading, particularly around authentication flows and data fetching patterns. The React 19 upgrade also requires verifying hook usage and state management[11][13].
Citations:
- 1: https://dev.to/dimeloper/whats-new-in-nextjs-15-new-hooks-turbopack-and-more-2lo8
- 2: https://dev.to/mohith/introduction-to-nextjs-15-whats-new-and-improved-12gl
- 3: What is the biggest change in NextJS version 14 and version 15? vercel/next.js#70306
- 4: https://www.wisp.blog/blog/nextjs-15-is-out-whats-new-and-what-broke
- 5: https://www.syncfusion.com/blogs/post/whats-new-in-next-js-15-rc
- 6: https://www.youtube.com/watch?v=Igt89sDaboE
- 7: https://nextjs.org/blog/next-15
- 8: https://nextjs.org/blog/next-15-2
- 9: https://ordergroup.co/resources/article-business-and-technical/next-js-15-what-is-new/
- 10: https://javascript.plainenglish.io/breaking-changes-in-next-js-15-the-ultimate-migration-guide-18f183dad64b
- 11: https://nextjs.org/docs/app/building-your-application/upgrading/version-15
- 12: https://community.auth0.com/t/nextjs-15-breaking-change-using-getsession-and-touchsession/150741
- 13: https://www.youtube.com/watch?v=fqabW3WRUbw
- 14: https://nextjs.org/blog
Action: Verify Next.js 15 Migration Impacts
The updated Next.js version (^15.2.3) introduces several breaking changes compared to version 14. Please ensure that your codebase addresses these key areas before fully upgrading:
- API Adjustments: Asynchronous changes for
cookies()
,headers()
,draftMode
, andsearchParams
. Confirm that any synchronous calls are updated withawait
.- Caching Behavior: Explicit cache control is now required for
fetch
requests. Review areas where caching behavior might have been implicitly relied upon.- React Upgrade: Next.js 15 now requires at least React 19 RC. Verify that your project and its dependencies conform to this requirement.
- Image Handling: The migration from
squoosh
tosharp
may require manual installation and adjustments.- Form Component Changes: If your application uses form components, ensure you update to the new
<Form>
component and adapt your form actions accordingly.- Security Updates: New handling of server actions (including unguessable IDs and dead code elimination) should be evaluated, especially in authentication flows.
Consider running the recommended codemod (
npx @next/codemod@canary upgrade latest
) to automate most migration tasks and then manually review any areas that need fine-tuning.styles/search.module.css (1)
299-319
: Style implementation looks goodThe styling for the cancel button is appropriate with a red background indicating a destructive action, and the hover state provides good user feedback.
Consider adding a media query for better responsiveness on smaller screens:
.cancelButton { background: #d83a3a; color: white; font-weight: bold; border: none; padding: 12px 20px; border-radius: 8px; cursor: pointer; transition: background 0.3s ease; box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2); } .cancelButton:hover { background: #b52e2e; } +@media (max-width: 768px) { + .cancelButton { + width: 100%; + max-width: 280px; + } +}
|
||
{/* Cancel Subscription Button */} | ||
<div className={styles.cancelContainer}> | ||
<button className={styles.cancelButton}>Cancel Subscription</button> | ||
</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Add functionality to the Cancel Subscription button
The Cancel Subscription button has been added but doesn't have any onClick handler to actually perform the cancellation action.
<div className={styles.cancelContainer}>
- <button className={styles.cancelButton}>Cancel Subscription</button>
+ <button
+ className={styles.cancelButton}
+ onClick={() => handleCancelSubscription()}
+ aria-label="Cancel Subscription"
+ >
+ Cancel Subscription
+ </button>
</div>
Also, consider adding a confirmation dialog before canceling since this is a destructive action.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
{/* Cancel Subscription Button */} | |
<div className={styles.cancelContainer}> | |
<button className={styles.cancelButton}>Cancel Subscription</button> | |
</div> | |
{/* Cancel Subscription Button */} | |
<div className={styles.cancelContainer}> | |
<button | |
className={styles.cancelButton} | |
onClick={() => handleCancelSubscription()} | |
aria-label="Cancel Subscription" | |
> | |
Cancel Subscription | |
</button> | |
</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not on the right page.
It should be on the /identities page.
You'll need to wait for the others issues mentioned here to be merged #1100
Please mint a testnet domain here https://sepolia.app.starknet.id/ so that you can test
okay will fix it |
Close: #1099
Summary by CodeRabbit
New Features
Styles
Chores