Skip to content

feat: Dropbox connector with sensitive actions using HITL#1041

Draft
AnishSarkar22 wants to merge 46 commits intoMODSetter:devfrom
AnishSarkar22:feat/dropbox-connector
Draft

feat: Dropbox connector with sensitive actions using HITL#1041
AnishSarkar22 wants to merge 46 commits intoMODSetter:devfrom
AnishSarkar22:feat/dropbox-connector

Conversation

@AnishSarkar22
Copy link
Copy Markdown
Contributor

@AnishSarkar22 AnishSarkar22 commented Mar 30, 2026

Description

  • New dropbox connector with sensitive actions such as create/delete using Human In The Loop.
  • Some UX improvements.

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

Analyze latest changes

Need help? Join our Discord

…rts in chat-header and image-model-manager for better organization
…e related imports for better organization and clarity
…o-configuration and redirect features for UI testing
…reamline LLMConfigForm usage for improved user experience
…edback messages for improved clarity and consistency
…g auto mode references for improved clarity and consistency
…component heights, and enhance right panel functionality with expanded button integration
…tle update logic for improved user experience
…tion and preventing race conditions during deletion for improved user experience
…e related logic across components for improved functionality
…esponsive design adjustments for improved user experience
…unctionality and schema validation for enhanced citation management
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 30, 2026

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

Copy link
Copy Markdown

@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 05030f6..d8d5102

✨ No bugs found, your code is sparkling clean

✅ Files analyzed, no issues (49)

docker/.env.example
docs/chinese-llm-setup.md
surfsense_backend/.env.example
surfsense_backend/alembic/versions/111_add_prompts_table.py
surfsense_backend/alembic/versions/112_add_dropbox_connector_enums.py
surfsense_backend/app/agents/new_chat/chat_deepagent.py
surfsense_backend/app/agents/new_chat/tools/dropbox/__init__.py
surfsense_backend/app/agents/new_chat/tools/dropbox/create_file.py
surfsense_backend/app/agents/new_chat/tools/dropbox/trash_file.py
surfsense_backend/app/agents/new_chat/tools/knowledge_base.py
surfsense_backend/app/agents/new_chat/tools/onedrive/create_file.py
surfsense_backend/app/agents/new_chat/tools/onedrive/trash_file.py
surfsense_backend/app/agents/new_chat/tools/registry.py
surfsense_backend/app/config/__init__.py
surfsense_backend/app/connectors/dropbox/__init__.py
surfsense_backend/app/connectors/dropbox/client.py
surfsense_backend/app/connectors/dropbox/content_extractor.py
surfsense_backend/app/connectors/dropbox/file_types.py
surfsense_backend/app/connectors/dropbox/folder_manager.py
surfsense_backend/app/connectors/onedrive/client.py
surfsense_backend/app/connectors/onedrive/content_extractor.py
surfsense_backend/app/connectors/onedrive/folder_manager.py
surfsense_backend/app/db.py
surfsense_backend/app/routes/__init__.py
surfsense_backend/app/routes/onedrive_add_connector_route.py
surfsense_backend/app/routes/search_source_connectors_routes.py
surfsense_backend/app/services/dropbox/__init__.py
surfsense_backend/app/services/dropbox/kb_sync_service.py
surfsense_backend/app/services/onedrive/kb_sync_service.py
surfsense_backend/app/tasks/celery_tasks/connector_tasks.py
surfsense_backend/app/tasks/chat/stream_new_chat.py
surfsense_backend/app/tasks/connector_indexers/dropbox_indexer.py
surfsense_backend/app/tasks/connector_indexers/onedrive_indexer.py
surfsense_backend/app/utils/connector_naming.py
surfsense_backend/tests/integration/indexing_pipeline/test_dropbox_pipeline.py
surfsense_backend/tests/integration/indexing_pipeline/test_onedrive_pipeline.py
surfsense_backend/tests/unit/connector_indexers/test_dropbox_parallel.py
surfsense_backend/tests/unit/connector_indexers/test_onedrive_parallel.py
surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx
surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/components/DocumentTypeIcon.tsx
surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/components/DocumentsTableShell.tsx
surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/components/RowActions.tsx
surfsense_web/app/dashboard/[search_space_id]/new-chat/[[...chat_id]]/page.tsx
surfsense_web/app/dashboard/[search_space_id]/onboard/page.tsx
surfsense_web/app/dashboard/[search_space_id]/team/team-content.tsx
surfsense_web/app/dashboard/[search_space_id]/user-settings/components/PromptsContent.tsx
surfsense_web/app/sitemap.ts
surfsense_web/atoms/image-gen-config/image-gen-config-mutation.atoms.ts
surfsense_web/atoms/new-llm-config/new-llm-config-mutation.atoms.ts

⏭️ Files skipped (81)
  Locations  
surfsense_web/atoms/tabs/tabs.atom.ts
surfsense_web/components/assistant-ui/assistant-message.tsx
surfsense_web/components/assistant-ui/citation-metadata-context.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/connector-configs/components/dropbox-config.tsx
surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/onedrive-config.tsx
surfsense_web/components/assistant-ui/connector-popup/connector-configs/index.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/hooks/use-connector-dialog.ts
surfsense_web/components/assistant-ui/connector-popup/utils/connector-document-mapping.ts
surfsense_web/components/assistant-ui/connector-popup/views/connector-accounts-list-view.tsx
surfsense_web/components/assistant-ui/inline-citation.tsx
surfsense_web/components/assistant-ui/inline-mention-editor.tsx
surfsense_web/components/assistant-ui/markdown-text.tsx
surfsense_web/components/assistant-ui/thinking-steps.tsx
surfsense_web/components/assistant-ui/thread.tsx
surfsense_web/components/assistant-ui/user-message.tsx
surfsense_web/components/documents/DocumentNode.tsx
surfsense_web/components/documents/FolderTreeView.tsx
surfsense_web/components/editor-panel/editor-panel.tsx
surfsense_web/components/layout/providers/LayoutDataProvider.tsx
surfsense_web/components/layout/ui/header/Header.tsx
surfsense_web/components/layout/ui/right-panel/RightPanel.tsx
surfsense_web/components/layout/ui/shell/LayoutShell.tsx
surfsense_web/components/layout/ui/sidebar/AllPrivateChatsSidebar.tsx
surfsense_web/components/layout/ui/sidebar/AllSharedChatsSidebar.tsx
surfsense_web/components/layout/ui/sidebar/DocumentsSidebar.tsx
surfsense_web/components/layout/ui/sidebar/InboxSidebar.tsx
surfsense_web/components/layout/ui/sidebar/Sidebar.tsx
surfsense_web/components/layout/ui/tabs/DocumentTabContent.tsx
surfsense_web/components/layout/ui/tabs/TabBar.tsx
surfsense_web/components/new-chat/chat-header.tsx
surfsense_web/components/new-chat/image-config-dialog.tsx
surfsense_web/components/new-chat/model-config-dialog.tsx
surfsense_web/components/new-chat/model-selector.tsx
surfsense_web/components/new-chat/prompt-picker.tsx
surfsense_web/components/public-chat/public-thread.tsx
surfsense_web/components/settings/image-model-manager.tsx
surfsense_web/components/settings/model-config-manager.tsx
surfsense_web/components/shared/image-config-dialog.tsx
surfsense_web/components/shared/llm-config-form.tsx
surfsense_web/components/shared/model-config-dialog.tsx
surfsense_web/components/tool-ui/citation/_adapter.tsx
surfsense_web/components/tool-ui/citation/citation-list.tsx
surfsense_web/components/tool-ui/citation/citation.tsx
surfsense_web/components/tool-ui/citation/index.ts
surfsense_web/components/tool-ui/citation/schema.ts
surfsense_web/components/tool-ui/dropbox/create-file.tsx
surfsense_web/components/tool-ui/dropbox/index.ts
surfsense_web/components/tool-ui/dropbox/trash-file.tsx
surfsense_web/components/tool-ui/index.ts
surfsense_web/components/tool-ui/onedrive/create-file.tsx
surfsense_web/components/tool-ui/onedrive/trash-file.tsx
surfsense_web/components/tool-ui/shared/media/index.ts
surfsense_web/components/tool-ui/shared/media/safe-navigation.ts
surfsense_web/components/tool-ui/shared/media/sanitize-href.ts
surfsense_web/components/tool-ui/shared/schema.ts
surfsense_web/components/ui/drawer.tsx
surfsense_web/content/docs/connectors/dropbox.mdx
surfsense_web/content/docs/connectors/index.mdx
surfsense_web/content/docs/connectors/meta.json
surfsense_web/content/docs/docker-installation/docker-compose.mdx
surfsense_web/content/docs/manual-installation.mdx
surfsense_web/contracts/enums/connector.ts
surfsense_web/contracts/enums/connectorIcons.tsx
surfsense_web/contracts/enums/toolIcons.tsx
surfsense_web/contracts/types/connector.types.ts
surfsense_web/contracts/types/document.types.ts
surfsense_web/lib/apis/connectors-api.service.ts
surfsense_web/lib/apis/prompts-api.service.ts
surfsense_web/lib/chat/streaming-state.ts
surfsense_web/lib/connectors/utils.ts
surfsense_web/messages/en.json
surfsense_web/messages/es.json
surfsense_web/messages/hi.json
surfsense_web/messages/pt.json
surfsense_web/messages/zh.json
surfsense_web/public/connectors/dropbox.svg

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