Skip to content

Conversation

@CREDO23
Copy link
Contributor

@CREDO23 CREDO23 commented Dec 18, 2025

Description

Motivation and Context

FIX #

Screenshots

API Changes

  • This PR includes API changes

Change Type

  • Bug fix
  • New feature
  • Performance improvement
  • Refactoring
  • Documentation
  • Dependency/Build system
  • Breaking change
  • Other (specify):

Testing Performed

  • Tested locally
  • Manual/QA verification

Checklist

  • Follows project coding standards and conventions
  • Documentation updated as needed
  • Dependencies updated as needed
  • No lint/build errors or new warnings
  • All relevant tests are passing

High-level PR Summary

This PR introduces Jotai and TanStack Query for state management of connectors functionality, migrating away from the existing useSearchSourceConnectors hook. 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 via useAtomValue, 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
Order File Path
1 surfsense_web/contracts/types/connector.types.ts
2 surfsense_web/lib/apis/connectors-api.service.ts
3 surfsense_web/atoms/connectors/connector-query.atoms.ts
4 surfsense_web/atoms/connectors/connector-mutation.atoms.ts
5 surfsense_web/atoms/connectors/ui.atoms.ts
6 surfsense_web/lib/query-client/cache-keys.ts
7 surfsense_web/app/dashboard/[search_space_id]/connectors/(manage)/page.tsx
8 surfsense_web/app/dashboard/[search_space_id]/connectors/[connector_id]/page.tsx
9 surfsense_web/app/dashboard/[search_space_id]/researcher/[[...chat_id]]/page.tsx
10 surfsense_web/components/chat/ChatInputGroup.tsx
11 surfsense_web/hooks/use-connector-edit-page.ts
12 surfsense_web/app/dashboard/[search_space_id]/connectors/add/airtable-connector/page.tsx
13 surfsense_web/app/dashboard/[search_space_id]/connectors/add/google-calendar-connector/page.tsx
14 surfsense_web/app/dashboard/[search_space_id]/connectors/add/google-gmail-connector/page.tsx
15 surfsense_web/app/dashboard/[search_space_id]/connectors/add/luma-connector/page.tsx
16 surfsense_web/app/dashboard/[search_space_id]/connectors/add/webcrawler-connector/page.tsx
17 surfsense_web/app/dashboard/[search_space_id]/connectors/add/baidu-search-api/page.tsx
18 surfsense_web/app/dashboard/[search_space_id]/connectors/add/bookstack-connector/page.tsx
19 surfsense_web/app/dashboard/[search_space_id]/connectors/add/clickup-connector/page.tsx
20 surfsense_web/app/dashboard/[search_space_id]/connectors/add/confluence-connector/page.tsx
21 surfsense_web/app/dashboard/[search_space_id]/connectors/add/discord-connector/page.tsx
22 surfsense_web/app/dashboard/[search_space_id]/connectors/add/elasticsearch-connector/page.tsx
23 surfsense_web/app/dashboard/[search_space_id]/connectors/add/github-connector/page.tsx
24 surfsense_web/app/dashboard/[search_space_id]/connectors/add/jira-connector/page.tsx
25 surfsense_web/app/dashboard/[search_space_id]/connectors/add/linear-connector/page.tsx
26 surfsense_web/app/dashboard/[search_space_id]/connectors/add/linkup-api/page.tsx
27 surfsense_web/app/dashboard/[search_space_id]/connectors/add/notion-connector/page.tsx
28 surfsense_web/app/dashboard/[search_space_id]/connectors/add/searxng/page.tsx
29 surfsense_web/app/dashboard/[search_space_id]/connectors/add/serper-api/page.tsx
30 surfsense_web/app/dashboard/[search_space_id]/connectors/add/slack-connector/page.tsx
31 surfsense_web/app/dashboard/[search_space_id]/connectors/add/tavily-api/page.tsx

Need help? Join our Discord

Analyze latest changes

@vercel
Copy link

vercel bot commented Dec 18, 2025

@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.

@CREDO23 CREDO23 changed the title [Feat] Members & Invites | Add jotai & tanstack [Feat] Connectors| Add jotai & tanstack Dec 18, 2025
Copy link

@recurseml recurseml bot left a 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

@CREDO23 CREDO23 marked this pull request as ready for review December 26, 2025 13:51
@MODSetter MODSetter merged commit 2c2ae40 into MODSetter:dev Dec 27, 2025
3 of 6 checks passed
@MODSetter MODSetter moved this to Done in SurfSense RoadMap Dec 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants