-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Move conenctors page to popup #646
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
Conversation
…and connection logic, and add new dialog sub-components.
…and add a scroll fade effect.
|
@AnishSarkar22 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 2387004..733ec5d
✨ No bugs found, your code is sparkling clean
✅ Files analyzed, no issues (5)
• surfsense_web/components/assistant-ui/attachment.tsx
• surfsense_web/components/assistant-ui/thread.tsx
• surfsense_web/components/assistant-ui/tooltip-icon-button.tsx
• surfsense_web/components/ui/dialog.tsx
• surfsense_web/components/ui/tooltip.tsx
…luding border adjustments, background colors, and hover effects.
…ameters and improve indexing configuration handling in the connector popup.
…nd all connectors, enhance indexing configuration view, and improve date range selection functionality.
…or dialog with improved query parameter handling, and implement scroll detection in indexing configuration view.
…ng Google Drive folder selection, and enhance connector management with improved state handling and UI updates.
…nnector dialog with creation functionality, and improve UI responsiveness and styling across components.
… and connection handling, enhance connector dialog with non-OAuth connection logic, and improve state management for connector creation.
…rganized the components
…its functionality, enhance Linear connect form with benefits display and accordion documentation section.
…nhance connector dialog for indexing settings, and implement date range selection for periodic sync.
…ncluding configuration forms and benefits display, enhance connector dialog for new connectors, and improve overall connector management functionality.
…g configuration forms and benefits display, enhance connector dialog for new connectors, and improve overall connector management functionality.
…nd Luma connectors, including configuration forms and benefits display, enhance connector dialog for new connectors, and improve overall connector management functionality.
…nect view with additional properties, and refine type handling in connector dialog for improved schema compliance.
…ser experience with improved loading states, and streamline source addition process by removing unnecessary components.
…dd document count display for connectors, and implement indexing progress indicators for better user feedback.
…dashboard, streamlining the source addition process and improving UI consistency.
…source addition process with new YouTube crawler view, and enhance connector management UI for improved user experience.
…border adjustments for better visual consistency
…tion process, updating UI elements for improved user experience and consistency.
…ad.tsx and google-drive-folder-tree.tsx for improved maintainability
- Implement CirclebackConnectForm for user input and configuration - Update connector benefits to include Circleback features - Add CirclebackConfig component for webhook configuration - Integrate Circleback into connector selection and management UI - Update connector constants and document mappings for Circleback
…ion for optional size in Google Drive item type
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 733ec5d..77ea261
✨ No bugs found, your code is sparkling clean
✅ Files analyzed, no issues (50)
• surfsense_backend/.env.example
• surfsense_backend/alembic/versions/54_add_google_drive_connector_enums.py
• surfsense_backend/alembic/versions/55_rename_google_drive_connector_to_file.py
• surfsense_backend/alembic/versions/56_add_circleback_connector_enums.py
• surfsense_backend/app/agents/new_chat/tools/knowledge_base.py
• surfsense_backend/app/config/__init__.py
• surfsense_backend/app/connectors/google_drive/__init__.py
• surfsense_backend/app/connectors/google_drive/change_tracker.py
• surfsense_backend/app/connectors/google_drive/client.py
• surfsense_backend/app/connectors/google_drive/content_extractor.py
• surfsense_backend/app/connectors/google_drive/credentials.py
• surfsense_backend/app/connectors/google_drive/file_types.py
• surfsense_backend/app/connectors/google_drive/folder_manager.py
• surfsense_backend/app/db.py
• surfsense_backend/app/routes/__init__.py
• surfsense_backend/app/routes/airtable_add_connector_route.py
• surfsense_backend/app/routes/circleback_webhook_route.py
• surfsense_backend/app/routes/google_calendar_add_connector_route.py
• surfsense_backend/app/routes/google_drive_add_connector_route.py
• surfsense_backend/app/routes/google_gmail_add_connector_route.py
• surfsense_backend/app/routes/logs_routes.py
• surfsense_backend/app/routes/search_source_connectors_routes.py
• surfsense_backend/app/schemas/__init__.py
• surfsense_backend/app/schemas/google_drive.py
• surfsense_backend/app/services/connector_service.py
• surfsense_backend/app/tasks/celery_tasks/connector_tasks.py
• surfsense_backend/app/tasks/celery_tasks/document_tasks.py
• surfsense_backend/app/tasks/connector_indexers/__init__.py
• surfsense_backend/app/tasks/connector_indexers/google_drive_indexer.py
• surfsense_backend/app/tasks/document_processors/circleback_processor.py
• surfsense_backend/app/tasks/document_processors/file_processors.py
• surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/(manage)/page.tsx
• surfsense_web/app/dashboard/[search_space_id]/connectors/[connector_id]/edit/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
⏭️ Files skipped (120)
| Locations |
|---|
surfsense_web/app/dashboard/[search_space_id]/connectors/add/page.tsx |
surfsense_web/app/dashboard/[search_space_id]/connectors/add/searxng/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]/documents/(manage)/components/DocumentsTableShell.tsx |
surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/page.tsx |
surfsense_web/app/dashboard/[search_space_id]/documents/upload/page.tsx |
surfsense_web/app/dashboard/[search_space_id]/documents/youtube/page.tsx |
surfsense_web/app/dashboard/[search_space_id]/editor/[documentId]/page.tsx |
surfsense_web/app/dashboard/[search_space_id]/layout.tsx |
surfsense_web/app/dashboard/[search_space_id]/logs/(manage)/page.tsx |
surfsense_web/app/dashboard/[search_space_id]/sources/add/page.tsx |
surfsense_web/app/globals.css |
surfsense_web/components/assistant-ui/assistant-message.tsx |
surfsense_web/components/assistant-ui/attachment.tsx |
surfsense_web/components/assistant-ui/branch-picker.tsx |
surfsense_web/components/assistant-ui/composer-action.tsx |
surfsense_web/components/assistant-ui/composer.tsx |
surfsense_web/components/assistant-ui/connector-popup.tsx |
surfsense_web/components/assistant-ui/connector-popup/components/connector-card.tsx |
surfsense_web/components/assistant-ui/connector-popup/components/connector-dialog-header.tsx |
surfsense_web/components/assistant-ui/connector-popup/components/date-range-selector.tsx |
surfsense_web/components/assistant-ui/connector-popup/components/periodic-sync-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/baidu-search-api-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/bookstack-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/circleback-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/clickup-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/confluence-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/discord-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/elasticsearch-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/github-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/jira-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linear-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linkup-api-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/luma-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/notion-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/searxng-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/slack-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/tavily-api-connect-form.tsx |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/connector-benefits.ts |
surfsense_web/components/assistant-ui/connector-popup/connect-forms/index.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/baidu-search-api-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/bookstack-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/circleback-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/clickup-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/confluence-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/discord-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/elasticsearch-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/github-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/google-drive-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/jira-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linear-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linkup-api-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/luma-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/notion-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/searxng-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/slack-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/tavily-api-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/index.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-connect-view.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-edit-view.tsx |
surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/indexing-configuration-view.tsx |
surfsense_web/components/assistant-ui/connector-popup/constants/connector-constants.ts |
surfsense_web/components/assistant-ui/connector-popup/constants/connector-popup.schemas.ts |
surfsense_web/components/assistant-ui/connector-popup/hooks/use-connector-dialog.ts |
surfsense_web/components/assistant-ui/connector-popup/index.ts |
surfsense_web/components/assistant-ui/connector-popup/tabs/active-connectors-tab.tsx |
surfsense_web/components/assistant-ui/connector-popup/tabs/all-connectors-tab.tsx |
surfsense_web/components/assistant-ui/connector-popup/utils/connector-document-mapping.ts |
surfsense_web/components/assistant-ui/connector-popup/views/youtube-crawler-view.tsx |
surfsense_web/components/assistant-ui/edit-composer.tsx |
surfsense_web/components/assistant-ui/thinking-steps.tsx |
surfsense_web/components/assistant-ui/thread-scroll-to-bottom.tsx |
surfsense_web/components/assistant-ui/thread-welcome.tsx |
surfsense_web/components/assistant-ui/thread.tsx |
surfsense_web/components/assistant-ui/user-message.tsx |
surfsense_web/components/connectors/google-drive-folder-tree.tsx |
surfsense_web/components/dashboard-breadcrumb.tsx |
surfsense_web/components/new-chat/model-selector.tsx |
surfsense_web/components/sidebar/app-sidebar.tsx |
surfsense_web/components/sidebar/nav-main.tsx |
surfsense_web/components/sources/ConnectorsTab.tsx |
surfsense_web/components/sources/YouTubeTab.tsx |
surfsense_web/components/sources/connector-data.tsx |
surfsense_web/components/ui/switch.tsx |
surfsense_web/contracts/enums/connector.ts |
surfsense_web/contracts/enums/connectorIcons.tsx |
surfsense_web/contracts/types/connector.types.ts |
surfsense_web/contracts/types/document.types.ts |
surfsense_web/contracts/types/log.types.ts |
surfsense_web/hooks/use-google-drive-folders.ts |
surfsense_web/hooks/use-logs.ts |
surfsense_web/lib/apis/connectors-api.service.ts |
surfsense_web/lib/connectors/utils.ts |
surfsense_web/lib/query-client/cache-keys.ts |
surfsense_web/messages/en.json |
surfsense_web/messages/zh.json |
surfsense_web/public/connectors/airtable.svg |
surfsense_web/public/connectors/baidu-search.svg |
surfsense_web/public/connectors/bookstack.svg |
surfsense_web/public/connectors/clickup.svg |
surfsense_web/public/connectors/confluence.svg |
surfsense_web/public/connectors/discord.svg |
surfsense_web/public/connectors/elasticsearch.svg |
surfsense_web/public/connectors/github.svg |
surfsense_web/public/connectors/google-calendar.svg |
surfsense_web/public/connectors/google-drive.svg |
surfsense_web/public/connectors/google-gmail.svg |
surfsense_web/public/connectors/jira.svg |
surfsense_web/public/connectors/linear.svg |
surfsense_web/public/connectors/luma.svg |
surfsense_web/public/connectors/microsoft-teams.svg |
surfsense_web/public/connectors/notion.svg |
surfsense_web/public/connectors/slack.svg |
surfsense_web/public/connectors/tavily.svg |
surfsense_web/public/connectors/youtube.svg |
surfsense_web/public/connectors/zoom.svg |
surfsense_web/tailwind.config.js |
Description
Motivation and Context
FIX #
Screenshots
API Changes
Change Type
Testing Performed
Checklist
High-level PR Summary
This PR refactors the connectors interface by moving it from a dedicated page to a modal popup dialog. The new
ConnectorPopupcomponent provides a tabbed interface for browsing all connectors and viewing active sources, with OAuth authentication handled directly in the popup. The implementation includes URL synchronization for deep linking, a search feature for filtering connectors, and visual improvements to tooltips throughout the application. The connector indicator button now opens the modal instead of a simple popover, making it easier to manage connections directly from the chat interface.⏱️ Estimated Review Time: 15-30 minutes
💡 Review Order Suggestion
surfsense_web/components/assistant-ui/connector-popup.tsxsurfsense_web/components/assistant-ui/thread.tsxsurfsense_web/components/ui/dialog.tsxsurfsense_web/components/assistant-ui/tooltip-icon-button.tsxsurfsense_web/components/ui/tooltip.tsxsurfsense_web/components/assistant-ui/attachment.tsx