Commit graph

1775 commits

Author SHA1 Message Date
CREDO23
506a9297a9 fix(connectors): track delta sync tokens per folder for Google Drive
- Store tokens in folder_tokens dict instead of single global token
- Each folder now tracks its own sync state independently
- Fixes issue where indexing folder 2 incorrectly used delta sync after folder 1 was indexed
- First-time indexing now correctly uses full scan for each new folder
2025-12-28 18:32:59 +02:00
CREDO23
a5935bc677 feat(connectors): add connector parameter to file processor for source tracking
- Add optional 'connector' parameter with 'type' and 'metadata' fields
- Create helper function _update_document_from_connector
- Use document_metadata column (not metadata) for JSON field
- Merge metadata with existing using dict spread operator
- Google Drive documents now marked as GOOGLE_DRIVE_CONNECTOR
- Backward compatible - no changes to existing logic
- Simple and clean implementation
2025-12-28 18:01:39 +02:00
CREDO23
8da58be9e0 fix(connectors): refresh document from DB before updating type
- Query document from database to ensure it's attached to session
- Prevents detached instance errors after process_file_in_background commits
- Properly updates document_type and metadata with session management
2025-12-28 17:21:44 +02:00
CREDO23
b2b891e4d7 fix(connectors): properly commit Google Drive document type changes
- Return file metadata from content_extractor for indexer to use
- Update document type and metadata in indexer after processing
- Explicitly commit changes to database
- Ensures documents are properly marked as GOOGLE_DRIVE_CONNECTOR type
2025-12-28 17:15:29 +02:00
CREDO23
9f1fd20944 feat(connectors): mark Google Drive documents with GOOGLE_DRIVE_CONNECTOR type
- Change document_type from file type (PDF, DOCX) to GOOGLE_DRIVE_CONNECTOR
- Store original file type in metadata for reference
- Add Google Drive specific metadata (file_id, mime_type, source)
- Include export format info for Google Workspace files
- Enables proper source tracking and bulk management
2025-12-28 16:55:14 +02:00
CREDO23
c9815fd6fb feat(celery): update Google Drive task for multiple folders
- Accept comma-separated folder_ids and folder_names parameters
- Pass through to indexing function for batch processing
2025-12-28 16:49:47 +02:00
CREDO23
634eeb887e feat(routes): support multiple Google Drive folder indexing
- Accept comma-separated folder_ids and folder_names
- Loop through each folder and index sequentially
- Collect total indexed count and errors
- Update timestamp only on full success
2025-12-28 16:49:20 +02:00
CREDO23
27a4bcdfc2 feat(ui): support multiple folder selection in Google Drive indexing
- Update manage page to handle array of selected folders
- Add info icon with clear description about folder-level indexing
- Display list of all selected folders before indexing
- Remove unnecessary file type details section
- Pass comma-separated folder IDs and names to backend
2025-12-28 16:48:56 +02:00
CREDO23
e0edfef5fc feat(ui): add multiple folder selection with checkboxes to Google Drive tree
- Replace single folder selection with multi-select checkboxes
- Remove cascading auto-select for clearer UX
- Each folder must be selected individually
- Visual indicators for selected folders
2025-12-28 16:48:34 +02:00
CREDO23
c4a95ecc02 feat(ui): integrate Google Drive folder selection into manage connectors page
- Add folder selection dialog for Google Drive indexing
- Hide date picker and quick index for Google Drive
- Show folder tree browser in modal
- Pass selected folder to indexing API
- Adjust modal size to prevent overflow
2025-12-28 16:04:58 +02:00
CREDO23
5df04c3caa feat(ui): add hierarchical Google Drive folder tree browser
- Display folders and files with lazy loading
- Show different icons for file types (docs, sheets, slides, etc)
- Expandable folder tree with proper indentation
- Selectable folders for indexing
- Handle overflow with proper truncation
- Full pagination support for large folder structures
2025-12-28 16:04:58 +02:00
CREDO23
ad4d424d38 feat(ui): add Google Drive OAuth connection page
- Handle OAuth flow similar to Gmail/Calendar
- Show connection status and redirect to manage page
- Display connector features and file type support
- No folder selection at connection time (done at index time)
2025-12-28 16:04:58 +02:00
CREDO23
90b3474b47 feat(hooks): add folder parameters to indexConnector function
- Accept folderId and folderName for Google Drive indexing
- Pass folder parameters to backend API
2025-12-28 16:04:58 +02:00
CREDO23
48112f66df feat(ui): add Google Drive connector card to Productivity category 2025-12-28 16:04:58 +02:00
CREDO23
bfbd813f42 feat(i18n): add Google Drive connector translation keys 2025-12-28 16:04:58 +02:00
CREDO23
11d94e0ea6 feat(ui): add Google Drive icon to connector icons mapping 2025-12-28 16:04:58 +02:00
CREDO23
2d24f9ac79 feat(types): add GOOGLE_DRIVE_CONNECTOR to frontend enum 2025-12-28 16:04:58 +02:00
CREDO23
1c83327fc7 feat(celery): add Google Drive indexing Celery task
- Create async task for Google Drive folder indexing
- Accept folder_id and folder_name parameters
- Call indexing wrapper to avoid circular imports
2025-12-28 15:56:11 +02:00
CREDO23
358abdf02f feat(routes): add Google Drive indexing support with folder selection
- Accept folder_id and folder_name as indexing parameters
- Hide date range for Google Drive connectors
- Create wrapper function to avoid circular imports
- Trigger Google Drive indexing Celery task
2025-12-28 15:55:57 +02:00
CREDO23
7b8900d51f feat(indexer): export Google Drive indexer function 2025-12-28 15:55:46 +02:00
CREDO23
501d08f2f4 feat(routes): register Google Drive OAuth router 2025-12-28 15:55:38 +02:00
CREDO23
1696c7056a feat(indexer): add Google Drive folder indexing with delta sync
- Full folder scan on first index
- Delta sync using change tracking for subsequent indexes
- Process files in parallel batches
- Handle file additions, modifications, and deletions
- Store change tracking token for efficient re-indexing
2025-12-28 15:55:25 +02:00
CREDO23
bf02005d82 feat(routes): add Google Drive OAuth and folder listing endpoints
- OAuth initialization and callback handling
- Folder and file browsing with parent_id support
- Validate credentials and handle token refresh
- Return folder contents with metadata for UI tree view
2025-12-28 15:55:13 +02:00
CREDO23
3e67d5f31e feat(connectors): add Google Drive delta sync with change tracking
- Get start page token for change tracking baseline
- Fetch incremental changes using Google Drive Changes API
- Categorize changes into added, modified, and removed files
- Enable efficient re-indexing of only changed content
2025-12-28 15:55:06 +02:00
CREDO23
84bde67979 feat(connectors): add Google Drive folder browsing and file listing
- List folder contents with full pagination support
- Query root folder or specific parent folder
- Return both folders and files with metadata (size, icons, links)
- Filter out shortcuts and trashed items
2025-12-28 15:54:58 +02:00
CREDO23
40304c6795 feat(connectors): add Google Drive content extraction using existing ETL
- Download files from Google Drive to temporary location
- Export Google Workspace files as PDF
- Delegate content extraction to existing process_file_in_background
- Reuse Surfsense's ETL services (Unstructured, LlamaCloud, Docling)
2025-12-28 15:54:50 +02:00
CREDO23
701c3409b3 feat(connectors): add Google Drive file type detection and mapping
- Detect Google Workspace files (Docs, Sheets, Slides)
- Map to PDF export format to preserve rich content (images, formatting)
- Identify files to skip (shortcuts, unsupported types)
2025-12-28 15:54:42 +02:00
CREDO23
74386affdc feat(connectors): add Google Drive API client wrapper
- Build and manage Google Drive service with credentials
- List files with query support and pagination
- Download binary files and export Google Workspace files as PDF
- Handle HTTP errors gracefully
2025-12-28 15:54:32 +02:00
CREDO23
2c8717b14b feat(connectors): add Google Drive credentials module for OAuth management
- Handle Google OAuth credential initialization and validation
- Automatic token refresh with database persistence
- Reuse existing tokens when valid
2025-12-28 15:54:26 +02:00
CREDO23
2897985127 feat(config): add GOOGLE_DRIVE_REDIRECT_URI environment variable 2025-12-28 15:53:51 +02:00
CREDO23
5dd8838638 feat(db): add idempotent Alembic migration for GOOGLE_DRIVE_CONNECTOR enums 2025-12-28 15:53:44 +02:00
CREDO23
f54079643f feat(db): add GOOGLE_DRIVE_CONNECTOR to DocumentType and SearchSourceConnectorType enums 2025-12-28 15:53:35 +02:00
Rohan Verma
2f5d1b6a9b
Merge pull request #631 from MODSetter/dev
update chinese readme
2025-12-25 21:20:32 -08:00
DESKTOP-RTLN3BA\$punk
2f35bc644f chore: update README.zh-CN.md to replace video link and remove outdated screenshots 2025-12-25 21:20:01 -08:00
DESKTOP-RTLN3BA\$punk
ea000dc22c feat: update README.zh-CN.md with new features and tools
- Added details about the deep proxy architecture and built-in tools.
- Included instructions for contributors to add new tools.
- Updated external data source list to include BookStack.
- Enhanced descriptions of existing features and frameworks.
2025-12-25 21:18:32 -08:00
Rohan Verma
c3678e4aed
Merge pull request #630 from MODSetter/dev
feat: configure PostHog reverse proxy to bypass ad blockers
2025-12-25 14:23:55 -08:00
DESKTOP-RTLN3BA\$punk
ad5f0a6e89 Merge commit '0501463a6b' into dev 2025-12-25 14:23:20 -08:00
DESKTOP-RTLN3BA\$punk
8298efe0b1 feat: configure PostHog reverse proxy to bypass ad blockers
- Updated PostHog initialization to use a reverse proxy for API requests.
- Added rewrites in Next.js configuration to route requests through the domain.
- Set ui_host for proper toolbar functionality and ensured correct pageview tracking.
2025-12-25 14:22:48 -08:00
Rohan Verma
0501463a6b
Merge pull request #629 from MODSetter/dev
feat: added posthog
2025-12-25 13:57:04 -08:00
DESKTOP-RTLN3BA\$punk
518958e9a7 feat: added posthog 2025-12-25 13:53:41 -08:00
DESKTOP-RTLN3BA\$punk
d9e6947fbd Revert "feat: added posthog"
This reverts commit c96be7d9e1.
2025-12-25 13:37:35 -08:00
DESKTOP-RTLN3BA\$punk
c96be7d9e1 feat: added posthog 2025-12-25 13:25:13 -08:00
Rohan Verma
80e4f1b798
Merge pull request #627 from MODSetter/dev
feat: various ux improvements
2025-12-25 11:44:18 -08:00
DESKTOP-RTLN3BA\$punk
7f809ffa1b chore: linting 2025-12-25 11:42:12 -08:00
DESKTOP-RTLN3BA\$punk
55897995ec Merge commit 'de33ec3759' into dev 2025-12-25 11:34:47 -08:00
Rohan Verma
cb6dcb4943
Merge pull request #626 from AnishSarkar22/fix/chatpage-ux
Many Improvements
2025-12-25 11:33:19 -08:00
Anish Sarkar
2fdf567b71 refactor: replace DocumentsDataTable with DocumentMentionPicker for improved document selection
- Introduced DocumentMentionPicker component to enhance document selection experience in the chat interface.
- Updated InlineMentionEditor and Composer components to utilize the new DocumentMentionPicker.
- Removed the deprecated DocumentsDataTable component to streamline the codebase and improve maintainability.
- Enhanced type safety and validation in document handling logic.
2025-12-26 00:41:14 +05:30
Anish Sarkar
9bc3f193c3 refactor: improve type safety in document extraction and UI components
- Introduced Zod schemas for type-safe parsing of mentioned document information in chat messages.
- Updated the extractMentionedDocuments function to utilize the new schemas for better validation.
- Made the 'alt' property optional in image-related components for improved flexibility and fallback handling.
2025-12-26 00:18:47 +05:30
Anish Sarkar
bea18960a4 refactor: enhance link preview functionality with Chromium fallback
- Added a fallback mechanism using headless Chromium to fetch page content when standard HTTP requests fail.
- Introduced utility functions for unescaping HTML entities and converting relative URLs to absolute.
- Updated HTTP request headers to mimic a browser for better compatibility with web servers.
- Improved error handling and logging for better debugging and user feedback.
- Made various properties in Zod schemas nullable for better type safety and flexibility in handling optional data.
2025-12-26 00:07:45 +05:30
Anish Sarkar
4c2de73694 refactor: update UI components for consistent styling 2025-12-25 19:40:43 +05:30