-
-
Notifications
You must be signed in to change notification settings - Fork 1k
[Feat] Connectors| Add jotai & tanstack #594
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
[Feat] Connectors| Add jotai & tanstack #594
Conversation
|
@CREDO23 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review by RecurseML
🔍 Review performed on 284229a..2cdc687
✨ No bugs found, your code is sparkling clean
✅ Files analyzed, no issues (31)
• surfsense_web/app/dashboard/[search_space_id]/connectors/(manage)/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/[connector_id]/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/airtable-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/baidu-search-api/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/bookstack-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/clickup-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/confluence-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/discord-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/elasticsearch-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/github-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/google-calendar-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/google-gmail-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/jira-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/linear-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/linkup-api/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/luma-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/notion-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/searxng/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/serper-api/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/slack-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/tavily-api/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/add/webcrawler-connector/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/researcher/[[...chat_id]]/page.tsx
• surfsense_web/atoms/connectors/connector-mutation.atoms.ts
• surfsense_web/atoms/connectors/connector-query.atoms.ts
• surfsense_web/atoms/connectors/ui.atoms.ts
• surfsense_web/components/chat/ChatInputGroup.tsx
• surfsense_web/contracts/types/connector.types.ts
• surfsense_web/hooks/use-connector-edit-page.ts
• surfsense_web/lib/apis/connectors-api.service.ts
• surfsense_web/lib/query-client/cache-keys.ts
Description
Motivation and Context
FIX #
Screenshots
API Changes
Change Type
Testing Performed
Checklist
High-level PR Summary
This PR introduces Jotai and TanStack Query for state management of connectors functionality, migrating away from the existing
useSearchSourceConnectorshook. The changes establish a new centralized state management architecture with Zod-validated type contracts, dedicated API service layer, and atomic state atoms for both queries and mutations. All connector-related pages (manage, edit, and 30+ add connector variants) have been updated to consume the new atoms viauseAtomValue, replacing direct hook calls with a more declarative approach. The migration standardizes request/response structures with consistent query parameter handling and cache invalidation patterns.⏱️ Estimated Review Time: 30-90 minutes
💡 Review Order Suggestion
surfsense_web/contracts/types/connector.types.tssurfsense_web/lib/apis/connectors-api.service.tssurfsense_web/atoms/connectors/connector-query.atoms.tssurfsense_web/atoms/connectors/connector-mutation.atoms.tssurfsense_web/atoms/connectors/ui.atoms.tssurfsense_web/lib/query-client/cache-keys.tssurfsense_web/app/dashboard/[search_space_id]/connectors/(manage)/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/[connector_id]/page.tsxsurfsense_web/app/dashboard/[search_space_id]/researcher/[[...chat_id]]/page.tsxsurfsense_web/components/chat/ChatInputGroup.tsxsurfsense_web/hooks/use-connector-edit-page.tssurfsense_web/app/dashboard/[search_space_id]/connectors/add/airtable-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/google-calendar-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/google-gmail-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/luma-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/webcrawler-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/baidu-search-api/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/bookstack-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/clickup-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/confluence-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/discord-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/elasticsearch-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/github-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/jira-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/linear-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/linkup-api/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/notion-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/searxng/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/serper-api/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/slack-connector/page.tsxsurfsense_web/app/dashboard/[search_space_id]/connectors/add/tavily-api/page.tsx