Skip to content

⚡ Optimize Hologram component rendering with Zustand selectors#6

Open
pavan721 wants to merge 1 commit into
feat/jarvis-ai-interface-17926432446021056838from
perf/hologram-zustand-selectors-14720737605431355296
Open

⚡ Optimize Hologram component rendering with Zustand selectors#6
pavan721 wants to merge 1 commit into
feat/jarvis-ai-interface-17926432446021056838from
perf/hologram-zustand-selectors-14720737605431355296

Conversation

@pavan721

@pavan721 pavan721 commented Jul 9, 2026

Copy link
Copy Markdown
Owner

💡 What: Refactored useAppStore in Hologram.tsx to use individual selectors instead of destructuring the whole store object.
🎯 Why: Destructuring from the store hook without selectors causes the component to subscribe to all state updates in the store, leading to unnecessary re-renders whenever unrelated state changes.
📊 Measured Improvement: Established a baseline using a Puppeteer script counting renders. When toggling the Settings Panel 5 times, the Hologram component was re-rendering 10 times unnecessarily. After applying this optimization, the Hologram component render count due to unrelated state changes dropped to 0.


PR created automatically by Jules for task 14720737605431355296 started by @pavan721

Replaced destructuring of useAppStore with individual state selectors
to prevent the Hologram component from re-rendering whenever unrelated
state (such as chat messages or settings panel visibility) changes.

Co-authored-by: pavan721 <88892612+pavan721@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

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.

1 participant