You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upgrade to Next.js 16, React 19, and modernize dependencies (#1312)
* feat: Upgrade to Next.js 16, React 19, and modernize dependencies
- Upgrade Next.js from 14.2.21 to 16.0.7
- Upgrade React/React-DOM from 18.3.1 to 19.2.1
- Upgrade next-auth from 4.x to 5.0.0-beta.30 (Auth.js)
- Upgrade tRPC from v10 to v11.7.2
- Upgrade TanStack React Query from v4 to v5.90.12
- Upgrade Zod from 3.x to 4.1.13
- Upgrade Sentry from 8.x to 10.29.0
- Upgrade Framer Motion from 11.x to 12.23.25
Breaking changes addressed:
- Convert all page params to async (Next.js 16 requirement)
- Migrate headers() to async function calls
- Update next-auth to new Auth.js v5 API with handlers export
- Replace 'loading' status with 'pending' (React Query v5)
- Migrate ESLint from .eslintrc to flat config (eslint.config.mjs)
- Update Zod error API (error.errors → error.issues)
- Fix React 19 type changes (ChildNode → React.ReactNode)
- Update TRPCReactProvider to accept serialized headers object
* feat: Upgrade to Node.js 24 and modernize welcome email
- Update Node.js from v20 to v24 (.nvmrc and volta config)
- Migrate nodemailer to v7 with AWS SESv2 API
- Update dependencies for React 19 compatibility (@t3-oss/env-nextjs,
next-themes, react-highlight-words)
- Configure GitHub Actions to use .nvmrc for Node version
- Separate newsletter subscription and welcome email error handling
- Redesign welcome email template with modern styling (no images for
better deliverability)
* fix: Add error handling and fix typos in auth flow
- Add try/catch for banned user check with fail-closed security pattern
- Fix "Excluisve" typo to "Exclusive" in welcome email subject
- Fix passwordless email recipient (remove hardcoded debug name)
* fix: Resolve React 19 compiler ESLint errors
- Replace useState+useEffect patterns with useSyncExternalStore for
client-side detection (auth, ThemeToggle, Search)
- Rewrite useLocalStorage hook to use useSyncExternalStore
- Convert setState-in-effect patterns to useMemo where applicable
- Move Placeholder component outside render to fix "cannot create
components during render" error
- Replace <a> with <Link> in company page
- Simplify CustomTextareaAutosize to avoid mutating prop refs
- Restructure settings page to avoid JSX in try/catch
- Add eslint-disable comments for intentional patterns
- Ignore cdk/ directory in ESLint config
Reduces ESLint errors from 23 to 0 for deployment compatibility.
* style: Apply Prettier formatting and fix MDX syntax
Format code with Prettier across multiple files and fix markdown
bold/italic syntax in MDX content to use proper triple-asterisk notation.
* Update next to 16.10
* Update article tests
* Fix types
Copy file name to clipboardExpand all lines: app/(app)/(tsandcs)/privacy/page.mdx
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,7 @@ Want to learn more about what we do with any information we collect? Review the
70
70
71
71
**Personal information you disclose to us**
72
72
73
-
**_In Short:_***We collect personal information that you provide to us.*
73
+
***In Short:****We collect personal information that you provide to us.*
74
74
75
75
We collect personal information that you voluntarily provide to us when you register on the Services, express an interest in obtaining information about us or our products and Services, when you participate in activities on the Services, or otherwise when you contact us.
76
76
@@ -96,7 +96,7 @@ All personal information that you provide to us must be true, complete, and accu
96
96
97
97
**2\. HOW DO WE PROCESS YOUR INFORMATION?**
98
98
99
-
**_In Short:_***We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent.*
99
+
***In Short:****We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent.*
100
100
101
101
**We process your personal information for a variety of reasons, depending on how you interact with our Services, including:**
102
102
@@ -158,7 +158,7 @@ In some exceptional cases, we may be legally permitted under applicable law to p
158
158
159
159
**4\. WHEN AND WITH WHOM DO WE SHARE YOUR PERSONAL INFORMATION?**
160
160
161
-
**_In Short:_***We may share information in specific situations described in this section and/or with the following third parties.*
161
+
***In Short:****We may share information in specific situations described in this section and/or with the following third parties.*
162
162
163
163
We may need to share your personal information in the following situations:
164
164
@@ -168,35 +168,35 @@ We may need to share your personal information in the following situations:
168
168
169
169
**5\. HOW DO WE HANDLE YOUR SOCIAL LOGINS?**
170
170
171
-
**_In Short:_***If you choose to register or log in to our Services using a social media account, we may have access to certain information about you.*
171
+
***In Short:****If you choose to register or log in to our Services using a social media account, we may have access to certain information about you.*
172
172
173
173
Our Services offer you the ability to register and log in using your third-party social media account details (like your Facebook or Twitter logins). Where you choose to do this, we will receive certain profile information about you from your social media provider. The profile information we receive may vary depending on the social media provider concerned, but will often include your name, email address, friends list, and profile picture, as well as other information you choose to make public on such a social media platform.
174
174
175
175
We will use the information we receive only for the purposes that are described in this privacy notice or that are otherwise made clear to you on the relevant Services. Please note that we do not control, and are not responsible for, other uses of your personal information by your third-party social media provider. We recommend that you review their privacy notice to understand how they collect, use, and share your personal information, and how you can set your privacy preferences on their sites and apps.
176
176
177
177
**6\. HOW LONG DO WE KEEP YOUR INFORMATION?**
178
178
179
-
**_In Short:_***We keep your information for as long as necessary to fulfill the purposes outlined in this privacy notice unless otherwise required by law.*
179
+
***In Short:****We keep your information for as long as necessary to fulfill the purposes outlined in this privacy notice unless otherwise required by law.*
180
180
181
181
We will only keep your personal information for as long as it is necessary for the purposes set out in this privacy notice, unless a longer retention period is required or permitted by law (such as tax, accounting, or other legal requirements). No purpose in this notice will require us keeping your personal information for longer than the period of time in which users have an account with us.
182
182
183
183
When we have no ongoing legitimate business need to process your personal information, we will either delete or anonymize such information, or, if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible.
184
184
185
185
**7\. HOW DO WE KEEP YOUR INFORMATION SAFE?**
186
186
187
-
**_In Short:_***We aim to protect your personal information through a system of organizational and technical security measures.*
187
+
***In Short:****We aim to protect your personal information through a system of organizational and technical security measures.*
188
188
189
189
We have implemented appropriate and reasonable technical and organizational security measures designed to protect the security of any personal information we process. However, despite our safeguards and efforts to secure your information, no electronic transmission over the Internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorized third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. Although we will do our best to protect your personal information, transmission of personal information to and from our Services is at your own risk. You should only access the Services within a secure environment.
190
190
191
191
**8\. DO WE COLLECT INFORMATION FROM MINORS?**
192
192
193
-
**_In Short:_***We do not knowingly collect data from or market to children under 18 years of age.*
193
+
***In Short:****We do not knowingly collect data from or market to children under 18 years of age.*
194
194
195
195
We do not knowingly solicit data from or market to children under 18 years of age. By using the Services, you represent that you are at least 18 or that you are the parent or guardian of such a minor and consent to such minor dependent’s use of the Services. If we learn that personal information from users less than 18 years of age has been collected, we will deactivate the account and take reasonable measures to promptly delete such data from our records. If you become aware of any data we may have collected from children under age 18, please contact us at [email protected].
196
196
197
197
**9\. WHAT ARE YOUR PRIVACY RIGHTS?**
198
198
199
-
**_In Short:_***In some regions, such as the European Economic Area (EEA), United Kingdom (UK), Switzerland, and Canada, you have rights that allow you greater access to and control over your personal information. You may review, change, or terminate your account at any time.*
199
+
***In Short:****In some regions, such as the European Economic Area (EEA), United Kingdom (UK), Switzerland, and Canada, you have rights that allow you greater access to and control over your personal information. You may review, change, or terminate your account at any time.*
200
200
201
201
In some regions (like the EEA, UK, Switzerland, and Canada), you have certain rights under applicable data protection laws. These may include the right (i) to request access and obtain a copy of your personal information, (ii) to request rectification or erasure; (iii) to restrict the processing of your personal information; (iv) if applicable, to data portability; and (v) not to be subject to automated decision-making. In certain circumstances, you may also have the right to object to the processing of your personal information. You can make such a request by contacting us by using the contact details provided in the section "HOW CAN YOU CONTACT US ABOUT THIS NOTICE?" below.
202
202
@@ -228,7 +228,7 @@ Most web browsers and some mobile operating systems and mobile applications incl
228
228
229
229
**11\. DO UNITED STATES RESIDENTS HAVE SPECIFIC PRIVACY RIGHTS?**
230
230
231
-
**_In Short:_***If you are a resident of California, Colorado, Connecticut, Utah or Virginia, you are granted specific rights regarding access to your personal information.*
231
+
***In Short:****If you are a resident of California, Colorado, Connecticut, Utah or Virginia, you are granted specific rights regarding access to your personal information.*
232
232
233
233
**What categories of personal information do we collect?**
0 commit comments