fix : derive has changes and use functional setstate#1035
fix : derive has changes and use functional setstate#1035JoeMakuta wants to merge 3 commits intoMODSetter:devfrom
Conversation
…PromptConfigManager components
… in onboarding tour and sidebar
|
@JoeMakuta is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Review by RecurseML
🔍 Review performed on 05030f6..4e6251e
✨ No bugs found, your code is sparkling clean
✅ Files analyzed, no issues (13)
• surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/mcp-connect-form.tsx
• surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/composio-drive-config.tsx
• surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/mcp-config.tsx
• surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/onedrive-config.tsx
• surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx
• surfsense_web/components/assistant-ui/thinking-steps.tsx
• surfsense_web/components/assistant-ui/tool-fallback.tsx
• surfsense_web/components/chat-comments/comment-thread/comment-thread.tsx
• surfsense_web/components/homepage/navbar.tsx
• surfsense_web/components/layout/hooks/useSidebarState.ts
• surfsense_web/components/onboarding-tour.tsx
• surfsense_web/components/settings/general-settings-manager.tsx
• surfsense_web/components/settings/prompt-config-manager.tsx
Description
This PR addresses multiple React state management issues by converting direct state updates to functional setState calls (using prev => !prev pattern for toggles) and refactoring hasChanges tracking in settings components from stateful effects to derived computations during render. These changes fix bugs related to stale closures and unnecessary re-renders, improving performance and correctness across toggle buttons, sidebar state management, onboarding tour navigation, and settings forms.
Motivation and Context
FIX #1004
FIX #1007
FIX #1005
Screenshots
API Changes
Change Type
Testing Performed
Checklist
High-level PR Summary
This PR addresses multiple React state management issues by converting direct state updates to functional
setStatecalls (usingprev => !prevpattern for toggles) and refactoringhasChangestracking in settings components from stateful effects to derived computations during render. These changes fix bugs related to stale closures and unnecessary re-renders, improving performance and correctness across toggle buttons, sidebar state management, onboarding tour navigation, and settings forms.⏱️ Estimated Review Time: 5-15 minutes
💡 Review Order Suggestion
surfsense_web/components/settings/general-settings-manager.tsxsurfsense_web/components/settings/prompt-config-manager.tsxsurfsense_web/components/layout/hooks/useSidebarState.tssurfsense_web/components/onboarding-tour.tsxsurfsense_web/components/assistant-ui/connector-popup/connect-forms/components/mcp-connect-form.tsxsurfsense_web/components/assistant-ui/connector-popup/connector-configs/components/mcp-config.tsxsurfsense_web/components/assistant-ui/connector-popup/connector-configs/components/composio-drive-config.tsxsurfsense_web/components/assistant-ui/connector-popup/connector-configs/components/onedrive-config.tsxsurfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsxsurfsense_web/components/assistant-ui/thinking-steps.tsxsurfsense_web/components/assistant-ui/tool-fallback.tsxsurfsense_web/components/chat-comments/comment-thread/comment-thread.tsxsurfsense_web/components/homepage/navbar.tsx