-
Notifications
You must be signed in to change notification settings - Fork 9.3k
perf: server-fetch data for all pages in /settings/my-account #20712
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
base: main
Are you sure you want to change the base?
Conversation
Graphite Automations"Add consumer team as reviewer" took an action on this PR • (04/15/25)1 reviewer was added to this PR based on Keith Williams's automation. |
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.
mrge found 8 issues across 25 files. View them in mrge.io
}; | ||
|
||
export function CalendarListContainer({ | ||
connectedCalendars: data, |
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.
Parameter destructuring renames 'connectedCalendars' to 'data' internally which creates confusing access patterns throughout the component
@@ -158,6 +129,7 @@ const AppearanceView = ({ | |||
const mutation = trpc.viewer.me.updateProfile.useMutation({ | |||
onSuccess: async (data) => { | |||
await utils.viewer.me.invalidate(); | |||
revalidateSettingsAppearance(); |
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.
Calling revalidateSettingsAppearance in onSuccess is redundant as it's also called in onSettled
@@ -106,6 +65,7 @@ const GeneralView = ({ localeProp, user, travelSchedules, revalidatePage }: Gene | |||
const mutation = trpc.viewer.me.updateProfile.useMutation({ | |||
onSuccess: async (res) => { | |||
await utils.viewer.me.invalidate(); | |||
revalidateSettingsGeneral(); |
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.
Duplicate revalidation calls in both onSuccess and onSettled callbacks
|
||
const GeneralView = ({ localeProp, user, travelSchedules, revalidatePage }: GeneralViewProps) => { | ||
const GeneralView = ({ user, travelSchedules }: GeneralViewProps) => { | ||
const localeProp = user.locale ?? "en"; |
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.
Missing user.locale default handling in the original component
description={t("profile_description", { appName: APP_NAME })} | ||
borderInShellHeader={true}> | ||
<SkeletonContainer> | ||
<div className="border-subtle space-y-6 rounded-b-lg border border-t-0 px-4 py-8"> |
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.
Inconsistent border radius class: 'rounded-b-lg' is used here while other skeleton components use 'rounded-b-xl'
description={t("profile_description", { appName: APP_NAME })} | ||
borderInShellHeader={true}> | ||
<SkeletonContainer> | ||
<div className="border-subtle space-y-6 rounded-b-lg border border-t-0 px-4 py-8"> |
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.
Missing responsive padding: This component doesn't include 'sm:px-6' which is present in other similar skeleton components
if (!user) { | ||
redirect("/auth/login"); | ||
} | ||
return <GeneralView user={user} travelSchedules={travelSchedules ?? []} />; |
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.
Component no longer uses SettingsHeader which affects UI consistency across settings pages
); | ||
}; | ||
|
||
export const ConferencingAppsViewWebWrapper = () => { |
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.
The ConferencingAppsViewWebWrapper component signature has been changed without updating all usages. This breaks backward compatibility.
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 2 Skipped Deployments
|
E2E results are ready! |
What does this PR do?
Mandatory Tasks (DO NOT REMOVE)
How should this be tested?