Skip to content

Conversation

@smallbrownbike
Copy link
Collaborator

@smallbrownbike smallbrownbike commented Nov 5, 2025

Changes

  • Removes initial loader
  • Renders icons/background after the first window loads
  • Removes unused static queries (these show up on every page and slow down initial load times)
  • Moves static queries to page queries when possible (page queries only appear on the page they're used)
  • Lazy loads most desktop components
  • Uses CSS to show initial window instantly

@vercel
Copy link

vercel bot commented Nov 5, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
posthog Ready Ready Preview Dec 7, 2025 3:47pm

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

No files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

team: { teamMembers },
allTeams,
} = useStaticQuery(teamQuery)
export default function People({ searchTerm, filteredMembers, teamMembers, allTeams }: PeopleProps = {}) {
Copy link
Contributor

Choose a reason for hiding this comment

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

logic: default parameter value could cause runtime error if props are undefined

The default value = {} doesn't provide values for required props teamMembers and allTeams. When People component is called without props, teamMembers will be undefined causing errors at lines 305 and 310.

Suggested change
export default function People({ searchTerm, filteredMembers, teamMembers, allTeams }: PeopleProps = {}) {
export default function People({ searchTerm, filteredMembers, teamMembers = [], allTeams = { nodes: [] } }: PeopleProps = {}) {
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/components/People/index.tsx
Line: 304:304

Comment:
**logic:** default parameter value could cause runtime error if props are undefined

The default value `= {}` doesn't provide values for required props `teamMembers` and `allTeams`. When People component is called without props, `teamMembers` will be undefined causing errors at lines 305 and 310.

```suggestion
export default function People({ searchTerm, filteredMembers, teamMembers = [], allTeams = { nodes: [] } }: PeopleProps = {}) {
```

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +106 to +112
<CloudinaryImage
src="https://res.cloudinary.com/dmukukwp6/image/upload/keyboard_garden_light_opt_compressed_5094746caf.png"
alt=""
width={1401}
height={1400}
className="size-[300px] md:size-[700px] dark:hidden"
/>
Copy link
Contributor

Choose a reason for hiding this comment

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

style: inconsistent loading attribute for wallpaper images

Light theme image lacks loading="lazy" while dark version has it (line 114). For consistent lazy loading behavior across themes, add the attribute.

Suggested change
<CloudinaryImage
src="https://res.cloudinary.com/dmukukwp6/image/upload/keyboard_garden_light_opt_compressed_5094746caf.png"
alt=""
width={1401}
height={1400}
className="size-[300px] md:size-[700px] dark:hidden"
/>
<CloudinaryImage
loading="lazy"
src="https://res.cloudinary.com/dmukukwp6/image/upload/keyboard_garden_light_opt_compressed_5094746caf.png"
alt=""
width={1401}
height={1400}
className="size-[300px] md:size-[700px] dark:hidden"
/>
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/components/Desktop/index.tsx
Line: 106:112

Comment:
**style:** inconsistent `loading` attribute for wallpaper images

Light theme image lacks `loading="lazy"` while dark version has it (line 114). For consistent lazy loading behavior across themes, add the attribute.

```suggestion
                        <CloudinaryImage
                            loading="lazy"
                            src="https://res.cloudinary.com/dmukukwp6/image/upload/keyboard_garden_light_opt_compressed_5094746caf.png"
                            alt=""
                            width={1401}
                            height={1400}
                            className="size-[300px] md:size-[700px] dark:hidden"
                        />
```

How can I resolve this? If you propose a fix, please make it concise.

@corywatilo
Copy link
Collaborator

This basically introduces CLS, which arguably isn't any better than the loading state.

Is there any way we can calculate where the window is most likely to appear (eg: a little bit of offset) instead of just rendering at the top, then calcing after the page finishes loading?

@smallbrownbike
Copy link
Collaborator Author

Windows should always initially load in the correct place. Are you looking at the right deployment? Or maybe you have boring mode on?

Screen.Recording.2025-11-06.at.6.06.05.PM.mov

@corywatilo
Copy link
Collaborator

@smallbrownbike We good to merge this or did you want to make some more tweaks?

@smallbrownbike
Copy link
Collaborator Author

@corywatilo just need to make a couple tweaks! will ping you when it's ready

@corywatilo
Copy link
Collaborator

Thoughts?

@smallbrownbike
Copy link
Collaborator Author

that's actually a good showcase of what this does - window loads immediately while everything loads behind it. if this were prod, your slow internet would just show the loading bar until the page eventually loads.

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