Commit graph

118 commits

Author SHA1 Message Date
Anish Sarkar
9771a88380 fix: refine date handling in Google Calendar connector to ensure accurate same-day queries 2026-01-30 20:51:03 +05:30
Anish Sarkar
4526b656a4 fix: update default date range for Google Calendar events and improve query parameter handling 2026-01-30 19:55:48 +05:30
DESKTOP-RTLN3BA\$punk
d39bf3510f chore: linting 2026-01-28 22:20:23 -08:00
Anish Sarkar
1658724fb2 Merge remote-tracking branch 'upstream/dev' into fix/notion-connector 2026-01-29 10:45:31 +05:30
Anish Sarkar
c6d25ed7d8 feat(backend): Add legacy token handling in NotionHistoryConnector and log warnings for legacy usage in indexing 2026-01-28 22:53:34 +05:30
CREDO23
b20fbaca4b fix: skip webcrawler indexing gracefully when no URLs configured 2026-01-28 17:54:46 +02:00
Anish Sarkar
b3f553802c fix(backend): Update Notion page indexing log message to clarify sharing requirements and adjust return value for no pages found 2026-01-28 18:58:57 +05:30
CREDO23
4f7ed8439f fix(backend): Use calculate_date_range for Gmail indexer
Gmail indexer was using a hardcoded 30-day default instead of respecting
last_indexed_at like other connectors. Now uses calculate_date_range()
for consistent behavior (last_indexed_at → now, or 365 days for first run).
2026-01-28 15:20:07 +02:00
Anish Sarkar
33316fa6db feat(backend): Add retry logic for Notion API calls with user notifications on rate limits and errors 2026-01-28 18:36:42 +05:30
CREDO23
a9d393327d fix(backend): Add duplicate content_hash check to connector indexers
Prevent UniqueViolationError on ix_documents_content_hash constraint by
adding check_duplicate_document_by_hash() before inserting new documents
in 15 connector indexers that were missing this check.

Affected: clickup, luma, linear, jira, google_gmail, confluence,
bookstack, github, webcrawler, teams, slack, notion, discord,
airtable, obsidian indexers.
2026-01-28 14:51:54 +02:00
Anish Sarkar
41ebe162b0 feat(backend): Implement handling of unsupported Notion block types and track skipped content, add documentation for it 2026-01-28 17:43:45 +05:30
Anish Sarkar
a5103da3d7 chore: ran linting 2026-01-24 04:36:34 +05:30
Anish Sarkar
97d7207bd4 fix: update Google Drive indexer to use SQLAlchemy casting for metadata queries
- Modified the Google Drive indexer to use SQLAlchemy's cast function for querying document metadata, ensuring proper type handling for file IDs.
- Improved the consistency of metadata queries across the indexing functions, enhancing reliability in document retrieval and processing.
2026-01-24 04:33:10 +05:30
Anish Sarkar
5cf6fb15ed fix: improve error logging for indexing tasks across multiple connectors
- Updated error handling in the indexing functions for BookStack, Confluence, Google Calendar, Jira, Linear, and Luma connectors to log specific error messages when failures occur.
- Enhanced logging for cases where no pages or events are found, providing clearer informational messages instead of treating them as critical errors.
- Ensured consistent error reporting across all connector indexers, improving debugging and user feedback during indexing operations.
2026-01-24 03:59:17 +05:30
Anish Sarkar
c48ba36fa4 feat: improve indexing logic and duplicate handling in connectors
- Enhanced Google Calendar and Composio connector indexing to track and log duplicate content, preventing re-indexing of already processed events.
- Implemented robust error handling during final commits to manage integrity errors gracefully, ensuring successful indexing despite potential duplicates.
- Updated notification service to differentiate between actual errors and warnings for duplicate content, improving user feedback.
- Refactored date handling to ensure valid date ranges and adjusted end dates when necessary for better indexing accuracy.
2026-01-23 23:36:14 +05:30
Anish Sarkar
d20bb385b5 feat: enhance date handling and indexing logic across connectors
- Added normalization for "undefined" strings to None in date parameters to prevent parsing errors.
- Improved date range validation to ensure start_date is strictly before end_date, adjusting end_date if necessary.
- Updated Google Calendar and Composio connector indexing logic to handle duplicate content more effectively, logging warnings for skipped events.
- Enhanced error handling during final commits to manage integrity errors gracefully.
- Refactored date handling in various connector indexers for consistency and reliability.
2026-01-23 23:03:29 +05:30
Anish Sarkar
8d8f69545e feat: improve Google Calendar and Gmail connectors with enhanced error handling
- Added user-friendly re-authentication messages for expired or revoked tokens in both Google Calendar and Gmail connectors.
- Updated error handling in indexing tasks to log specific authentication errors and provide clearer feedback to users.
- Enhanced the connector UI to handle indexing failures more effectively, improving overall user experience.
2026-01-23 18:57:10 +05:30
Manoj Aggarwal
49d51ba569 merge 2026-01-22 20:57:48 -08:00
DESKTOP-RTLN3BA\$punk
8b81507739 refactor: remove unused COMPOSIO_CONNECTOR migration and linting 2026-01-22 16:43:08 -08:00
Manoj Aggarwal
4b60a2b805 nit 2026-01-22 13:01:10 -08:00
Manoj Aggarwal
f0760c14e9 Merge dev into feature/obsidian - resolved conflicts keeping both Obsidian and Composio connectors 2026-01-22 11:43:18 -08:00
DESKTOP-RTLN3BA\$punk
12b825bff0 Merge branch 'dev' of https://github.com/MODSetter/SurfSense into dev 2026-01-21 22:58:48 -08:00
DESKTOP-RTLN3BA\$punk
8c625d4237 feat: composio connector 2026-01-21 22:57:58 -08:00
Manoj Aggarwal
88a9a5bef2 format 2026-01-21 22:54:09 -08:00
Manoj Aggarwal
8a83424be5 Add support for obsidian to surfsense 2026-01-21 15:21:06 -08:00
Anish Sarkar
35888144eb refactor: Update GitHub connector to use gitingest CLI
- Refactored GitHubConnector to utilize gitingest CLI via subprocess, improving performance and avoiding async issues with Celery.
- Updated ingestion method to handle repository digests more efficiently, including error handling for subprocess execution.
- Adjusted GitHub indexer to call the new synchronous ingestion method.
- Clarified documentation regarding the optional nature of the Personal Access Token for public repositories.
2026-01-20 23:24:33 +05:30
Anish Sarkar
49b8a46d10 feat: Integrate gitingest for GitHub repository ingestion
- Added gitingest as a dependency to streamline the ingestion of GitHub repositories.
- Refactored GitHubConnector to utilize gitingest for efficient repository digest generation, reducing API calls.
- Updated GitHub indexer to process entire repository digests, enhancing performance and simplifying the indexing process.
- Modified GitHub connect form to indicate that the Personal Access Token is optional for public repositories.
2026-01-20 21:52:32 +05:30
Anish Sarkar
e0be1b9133 chore: ran backend and frontend linting 2026-01-17 16:30:07 +05:30
Anish Sarkar
f538d59ca3 feat: enhance Google Drive file metadata handling
- Updated Google Drive API calls to include md5Checksum in file metadata retrieval for improved content tracking.
- Added logic to check for rename-only updates based on md5Checksum, optimizing document processing by preventing unnecessary ETL operations for unchanged content.
- Enhanced existing document update logic to handle renaming and metadata updates more effectively, particularly for Google Drive files.
2026-01-17 16:24:53 +05:30
Anish Sarkar
6550c378b2 feat: enhance Google Drive document handling and UI integration
- Implemented support for both new file_id-based and legacy filename-based hash schemes in document processing.
- Added functions to generate unique identifier hashes and find existing documents with migration support.
- Improved existing document update logic to handle content changes and metadata updates, particularly for Google Drive files.
- Enhanced UI components to display appropriate file icons based on file types in the Google Drive connector.
- Updated document processing functions to accommodate the new connector structure and ensure seamless integration.
2026-01-17 14:57:31 +05:30
Anish Sarkar
7af3d1bc1a feat: improve Google Drive connector handling and UI feedback
- Added logic to refresh connector and notification attributes after indexing to ensure up-to-date information.
- Enhanced periodic sync configuration to disable the option when no folders or files are selected for Google Drive, providing user feedback through a message.
- Updated the connector edit view to reflect the new disabled state for periodic sync based on selected items.
- Implemented validation in the connector dialog to prevent enabling periodic sync without selected items, improving user experience.
2026-01-17 12:59:18 +05:30
Anish Sarkar
a3112a24fe feat: enhance Google Drive indexing with new options
- Updated the Google Drive indexing functionality to include indexing options such as max files per folder, incremental sync, and inclusion of subfolders.
- Modified the API to accept a new 'indexing_options' parameter in the request body.
- Enhanced the UI to allow users to configure these options when selecting folders and files for indexing.
- Updated related components and tasks to support the new indexing options, ensuring a more flexible and efficient indexing process.
2026-01-17 12:33:57 +05:30
DESKTOP-RTLN3BA\$punk
8aad15d392 Reapply "Merge pull request #686 from AnishSarkar22/feat/replace-logs"
This reverts commit 3418c0e026.
2026-01-16 11:32:06 -08:00
DESKTOP-RTLN3BA\$punk
3418c0e026 Revert "Merge pull request #686 from AnishSarkar22/feat/replace-logs"
This reverts commit 5963a1125e, reversing
changes made to 0d2a2f8ea1.
2026-01-16 00:49:33 -08:00
Anish Sarkar
7023223213 chore: ran backend linting 2026-01-14 13:28:50 +05:30
Anish Sarkar
1ea0475f73 refactor: Improve indexing notification handling and return values
- Enhanced error handling in the indexing process to differentiate between actual failures and cases where no new documents are processed.
- Updated notification messages to reflect the status accurately, including a message for when no new items are synced.
- Standardized return values across various indexer tasks to return `None` on success, simplifying logging and error management.
2026-01-14 13:16:11 +05:30
Rohan Verma
383592ce63
Merge pull request #680 from AnishSarkar22/fix/index-future-date
feat: Index future dates for calendar based connectors & bug fixes
2026-01-10 14:00:29 -08:00
Manoj Aggarwal
8b735a492a lint 2026-01-09 13:53:09 -08:00
Manoj Aggarwal
62d0d8b6db ruff lint 2026-01-09 13:38:49 -08:00
Manoj Aggarwal
18035b3728 Add MS Teams connector 2026-01-09 13:20:47 -08:00
Manoj Aggarwal
fa35b71522 Add teams connector similar to slack 2026-01-09 13:20:30 -08:00
Manoj Aggarwal
786fd63e5b
Revert "Add Microsoft Teams Connector" 2026-01-09 12:33:26 -08:00
Anish Sarkar
e21bc8086a Merge remote-tracking branch 'upstream/dev' into fix/index-future-date 2026-01-09 13:24:38 +05:30
Anish Sarkar
4aeb05e2e5 feat: allow future dates for Google Calendar and Luma connectors
- Updated date handling in indexing functions to permit future dates for Google Calendar and Luma connectors.
- Enhanced UI components to support future date selection, including a new button for selecting the next 30 days.
- Adjusted documentation and descriptions to clarify date range options for users.
2026-01-09 13:20:12 +05:30
Manoj Aggarwal
ba7e4f0ceb Add MS Teams connector 2026-01-08 17:13:19 -08:00
Manoj Aggarwal
73a9dccefc Add teams connector similar to slack 2026-01-07 15:15:49 -08:00
Anish Sarkar
86af9b5a21 feat: implement ClickUp OAuth integration and connector support
- Added ClickUp OAuth authentication flow with new environment variables for client ID, client secret, and redirect URI.
- Introduced ClickUpHistoryConnector to manage OAuth-based authentication and token refresh for ClickUp API access.
- Created ClickUp connector routes for OAuth flow, including authorization and callback handling.
- Updated indexing logic to utilize the new ClickUpHistoryConnector, supporting both OAuth and legacy API token methods.
- Enhanced frontend components to reflect the new ClickUp integration and removed legacy API token forms.
2026-01-07 15:15:25 +05:30
Anish Sarkar
f2724ea162 feat: enhance Airtable integration with OAuth support and date validation
- Introduced AirtableHistoryConnector to manage OAuth-based authentication and token refresh for Airtable API access.
- Added date string validation in AirtableConnector to ensure valid date inputs before processing.
- Updated indexing logic to utilize the new AirtableHistoryConnector, improving credential management and token handling.
2026-01-07 03:00:56 +05:30
Anish Sarkar
c7c5caf559 chore: ran both frontend and backend linting 2026-01-06 15:49:31 +05:30
Anish Sarkar
3dc04f906d Merge remote-tracking branch 'upstream/dev' into feat/atlassian-oauth 2026-01-06 15:05:14 +05:30