Commit graph

2008 commits

Author SHA1 Message Date
CREDO23
f1a715e04e refactor: move Linear OAuth utils to connector, use httpx.AsyncClient 2026-01-07 13:13:19 +02:00
CREDO23
4b3d427e90 feat: prevent duplicate OAuth account connections 2026-01-07 12:57:33 +02:00
CREDO23
3ff87a218d feat: improve connector popup with grouped OAuth connectors
Active Connectors tab:
- Group OAuth connectors by type (Gmail, Google Drive, etc.)
- Show account count badge on grouped cards
- Show most recent last indexed date across all accounts
- Show non-OAuth connectors individually with active task messages

All Connectors tab:
- Show most recent last indexed date for OAuth connector types
- Check if any account is indexing for OAuth types

Accounts List View:
- Remove document count from individual account cards
- Back button returns to previous tab (not always All Connectors)

General:
- Update handleViewAccountsList to use (connectorType, connectorTitle) signature
- Consistent behavior for viewing accounts from both tabs
2026-01-07 11:40:21 +02:00
CREDO23
9ad1348d6b feat: add connectorId support for multi-account OAuth connectors
Backend:
- Add connectorId to OAuth redirect URLs in all 10 connector routes
- Enables frontend to identify the specific connector created

Frontend:
- Update OAuth success handler to use connectorId for finding new connector
- Set connectorId in URL when transitioning to configure view
- Add connectorId support in URL sync effect for page refresh
- Consolidate handleAddAccountOAuth into handleConnectOAuth
- Update indexing config view to show connector type and display name
2026-01-07 10:54:49 +02:00
CREDO23
2508b37f4e feat: add connector accounts list view for OAuth connectors with multiple accounts
- Create ConnectorAccountsListView component to show all connected accounts for a connector type
- Add state management in use-connector-dialog for viewing connector accounts list
- Update AllConnectorsTab to show accounts list when OAuth connector is connected
- Update connector-popup.tsx to render the new accounts list view
- Add 'accounts' view to connector popup URL schema
- Display connected accounts in 2-column grid layout
- Add 'Add Account' button with dashed border in header
2026-01-07 09:28:07 +02:00
CREDO23
755f92323a fix: connector card and edit view styling 2026-01-07 08:36:55 +02:00
CREDO23
93c7b83a06 feat: show identifier-only display names in connector cards 2026-01-07 08:16:27 +02:00
CREDO23
0ba64fe6c4 feat: update OAuth routes to use async connector naming 2026-01-07 08:16:19 +02:00
CREDO23
42397f1364 feat: add Airtable user email fetch and update route 2026-01-07 08:16:11 +02:00
CREDO23
d03b8dae34 feat: add Linear org name fetch and update route 2026-01-07 08:16:04 +02:00
CREDO23
932222bff1 feat: add fetch_google_user_email and update Google OAuth routes 2026-01-07 08:15:56 +02:00
CREDO23
4c6a782cec feat: add extract_identifier_from_credentials to connector naming 2026-01-07 08:15:48 +02:00
CREDO23
d979c156f8 BE-2: Enforce unique connector names per user and search space (idempotent migration) 2026-01-06 19:38:11 +02:00
CREDO23
d75df7e5b2 BE-2: Remove duplicate-check logic and enable user-friendly auto-naming for Airtable and Confluence connector OAuth flows 2026-01-06 19:26:40 +02:00
CREDO23
c58a3fba55 BE-2: Remove duplicate logic and enable auto-friendly naming for Linear, Jira, and Discord connector OAuth callbacks 2026-01-06 19:12:18 +02:00
CREDO23
7900d6acc0 BE-2: Remove duplicate checks and enable auto-generation of user-friendly names for Slack & Notion OAuth connectors 2026-01-06 19:05:22 +02:00
CREDO23
d7b8890e9e BE-2: Remove duplicate checks and auto-generate user-friendly names for Google connector OAuth callbacks (consistent comments, identifier extraction) 2026-01-06 18:55:35 +02:00
CREDO23
21d45b8b21 BE-1: Allow multiple connectors of same type per search space (remove duplicate checks, update docstrings) 2026-01-06 18:41:14 +02:00
CREDO23
9f75a3f0b3 BE-1: Add connector_naming.py utilities for friendly auto-naming and unique identifier extraction 2026-01-06 18:32:18 +02:00
CREDO23
5ebe708bd8 BE-1: Alembic migration to drop unique constraint for multiple connectors of same type per search space (idempotent) 2026-01-06 17:58:46 +02:00
DESKTOP-RTLN3BA\$punk
ba54e1da06 feat: update documentation structure and remove 'full' property from MDX files
- Enhanced the DocsPage component by adding table of content and popover configurations.
- Removed the 'full' property from multiple MDX files to streamline documentation structure.
- Updated meta.json to reflect new documentation organization and added a 'connectors' page.
2026-01-06 03:39:25 -08:00
DESKTOP-RTLN3BA\$punk
929bc026e6 refactor: remove react-markdown dependency and enhance document editing logic
- Removed the react-markdown dependency from package.json and pnpm-lock.yaml.
- Introduced a constant for editable document types in RowActions component to streamline edit functionality.
- Updated RowActions to conditionally render edit options based on document type, improving user experience.
2026-01-06 03:09:49 -08:00
Rohan Verma
74f6811b48
Merge pull request #666 from AnishSarkar22/feat/atlassian-oauth
feat: Jira & Confluence OAuth Connector
2026-01-06 02:38:57 -08:00
Anish Sarkar
c7c5caf559 chore: ran both frontend and backend linting 2026-01-06 15:49:31 +05:30
Anish Sarkar
6ea6e752f6 refactor: update OAuth scopes and improve connector UI messages
- Removed unnecessary OAuth scopes for Confluence and Jira connectors to streamline authentication requirements.
- Updated the Confluence and Jira configuration components to enhance user experience by clarifying connection update instructions and improving styling for displayed URLs.
2026-01-06 15:44:43 +05:30
Anish Sarkar
3dc04f906d Merge remote-tracking branch 'upstream/dev' into feat/atlassian-oauth 2026-01-06 15:05:14 +05:30
Anish Sarkar
c7fa640594 feat: enhance ConfluenceHistoryConnector to support legacy API token authentication
- Added support for legacy API token authentication alongside OAuth 2.0 in ConfluenceHistoryConnector.
- Implemented logic to handle both authentication methods, ensuring backward compatibility.
- Refactored token management to accommodate legacy credentials and updated API request handling accordingly.
- Enhanced error handling for credential validation and improved logging for better traceability.
2026-01-06 15:04:58 +05:30
Anish Sarkar
0f5bf93f68 feat: implement JiraHistoryConnector for OAuth and legacy authentication
- Introduced JiraHistoryConnector to handle OAuth-based authentication and automatic token refresh for Jira API access.
- Refactored Jira indexing logic to utilize the new connector, simplifying credential management and enhancing token refresh capabilities.
- Removed legacy token handling code from the Jira indexer, streamlining the integration process.
- Ensured compatibility with both OAuth 2.0 and legacy API token methods for improved flexibility.
2026-01-06 14:36:51 +05:30
Anish Sarkar
5d363b8a60 feat: implement Confluence OAuth integration and connector routes
- Added support for Confluence OAuth with new environment variables for client ID, client secret, and redirect URI.
- Implemented Confluence connector routes for OAuth flow, including authorization and callback handling.
- Enhanced Confluence connector to support both OAuth 2.0 and legacy API token authentication methods.
- Updated Confluence indexing logic to utilize OAuth credentials with auto-refresh capabilities.
- Removed outdated Confluence UI components and adjusted frontend logic to reflect the new integration.
2026-01-06 13:20:22 +05:30
DESKTOP-RTLN3BA\$punk
aac0432023 refactor: update Discord message indexing logic
- Enhanced the indexing process for Discord messages to treat each message as an individual document, improving metadata handling and content management.
- Replaced the announcement banner component and related state management with a more streamlined approach, removing unnecessary files and simplifying the dashboard layout.
- Updated logging messages for clarity and accuracy regarding processed messages.
2026-01-05 22:18:25 -08:00
Rohan Verma
afe63943f2
Merge pull request #664 from AnishSarkar22/feat/slack-oauth
feat: Slack, Discord OAuth connector & 5 min periodic syncing
2026-01-05 21:31:54 -08:00
Rohan Verma
1614821dd9
Merge pull request #667 from MODSetter/dev
update: readmes with clearer descriptions of SurfSense.
2026-01-05 13:27:54 -08:00
DESKTOP-RTLN3BA\$punk
ebbb3ca023 update: readmes with clearer descriptions of SurfSense. 2026-01-05 13:27:32 -08:00
Anish Sarkar
bf8c3bfcf7 feat: add Atlassian OAuth support for Jira and Confluence
- Introduced a shared schema for Atlassian OAuth 2.0 credentials, accommodating both Jira and Confluence.
- Updated Jira connector routes to utilize the new AtlassianAuthCredentialsBase for handling OAuth tokens.
- Enhanced configuration to include new environment variables for Jira OAuth integration.
- Refactored token handling in Jira indexing logic to support the new shared credential structure.
2026-01-06 01:27:29 +05:30
Anish Sarkar
982b9ceb76 feat: implement Jira OAuth integration and connector routes
- Added support for Jira OAuth with new environment variables for client ID, client secret, and redirect URI.
- Implemented Jira connector routes for OAuth flow, including authorization and callback handling.
- Enhanced Jira connector to support both OAuth 2.0 and legacy API token authentication methods.
- Updated Jira indexing logic to utilize OAuth credentials with auto-refresh capabilities.
- Removed outdated Jira UI components and adjusted frontend logic to reflect the new integration.
2026-01-06 01:01:04 +05:30
Anish Sarkar
f236110a08 Revert "feat: implement Jira OAuth integration and connector routes"
This reverts commit bfed9a31f8.
2026-01-06 00:09:08 +05:30
Anish Sarkar
bfed9a31f8 feat: implement Jira OAuth integration and connector routes
- Added support for Jira OAuth with new environment variables for client ID, client secret, and redirect URI.
- Implemented Jira connector routes for OAuth flow, including authorization and callback handling.
- Enhanced Jira connector to support both OAuth 2.0 and legacy API token authentication.
- Updated Jira indexing logic to utilize OAuth credentials with auto-refresh capabilities.
- Removed outdated Jira UI components and adjusted frontend logic to reflect the new integration.
2026-01-05 23:59:16 +05:30
Anish Sarkar
df23813f1c feat: add Discord OAuth integration and connector routes
- Introduced Discord OAuth support with new environment variables for client ID, client secret, and redirect URI.
- Implemented Discord connector routes for OAuth flow, including authorization and callback handling.
- Enhanced Discord connector to support both OAuth-based authentication and legacy bot token usage.
- Updated Discord indexing logic to utilize OAuth credentials with auto-refresh capabilities.
- Removed outdated Discord UI components and adjusted frontend logic to reflect the new integration.
2026-01-05 14:21:39 +05:30
Anish Sarkar
1862732913 refactor: improve error handling for Slack token refresh logic
- Updated SlackHistory class to enforce the use of session and connector_id for token refresh, raising a ValueError for legacy token usage.
- Simplified conditional checks for client initialization in SlackHistory.
- Cleaned up unnecessary comments and whitespace in the codebase.
2026-01-04 02:47:50 +05:30
Anish Sarkar
81e4a4ada0 feat: database driven refresh tokens for slack oauth connector 2026-01-04 02:38:19 +05:30
Anish Sarkar
0fe94bfcf3 feat: add Slack OAuth integration and connector routes
- Introduced Slack OAuth support with new environment variables for client ID, client secret, and redirect URI.
- Implemented Slack connector routes for OAuth flow, including authorization and callback handling.
- Updated configuration to support both new OAuth format and legacy token handling.
- Enhanced the Slack indexer to decrypt tokens when necessary, ensuring compatibility with existing encrypted credentials.
- Removed outdated Slack connector UI components and adjusted frontend logic to reflect the new integration.
2026-01-04 02:30:00 +05:30
Anish Sarkar
431ea44b56 feat: enhance periodic indexing configuration with detailed validation and UI options
- Updated the SearchSourceConnectorBase class to include detailed documentation on supported periodic indexing frequencies.
- Added "Every 5 minutes" option to the frequency selection in multiple connector forms (BookStack, ClickUp, Confluence, Discord, Elasticsearch, Github, Jira, Luma, Slack) to improve user experience and flexibility in scheduling.
2026-01-03 23:06:09 +05:30
Rohan Verma
d7899ea316
Merge pull request #662 from melvnl/fix/dashboard-search-spaces-responsive
fix(ui): fix dashboard search spaces layout for 1024px and below
2026-01-03 04:46:18 -08:00
Anish Sarkar
76de0b5530 fix: Add server side search and pagination for mentioned documents 2026-01-03 11:26:31 +05:30
Anish Sarkar
4f77d171d8 feat: implement auto-refresh capability for Linear and Notion connectors similar to google oauth based ones
- Enhanced LinearConnector and NotionHistoryConnector classes to support automatic token refresh, improving reliability in accessing APIs.
- Updated initialization to require session and connector ID, allowing for dynamic credential management.
- Introduced new credential schemas for Linear and Notion, encapsulating access and refresh tokens with expiration handling.
- Refactored indexers to utilize the new connector structure, ensuring seamless integration with the updated authentication flow.
- Improved error handling and logging during token refresh processes for better debugging and user feedback.
2026-01-03 04:24:00 +05:30
Anish Sarkar
1e30bc6484 docs: clarify token parameter descriptions in Linear and Notion connectors
- Updated documentation for the LinearConnector and NotionHistoryConnector classes to specify that the access token can also be an API key or integration token, enhancing clarity for users regarding token usage.
2026-01-03 03:48:46 +05:30
Anish Sarkar
ed995b0341 refactor: update token decryption handling for connectors
- Enhanced token decryption logic in Airtable, Google Drive, Linear, and Notion indexers to only attempt decryption when tokens are explicitly marked as encrypted.
- Added error handling for missing SECRET_KEY when tokens are marked as encrypted, improving robustness and clarity in error reporting.
- Updated comments to clarify the handling of plaintext tokens when encryption is not indicated.
2026-01-03 03:43:40 +05:30
Anish Sarkar
645e849d93 chore: ran both frontend and backend linting 2026-01-03 00:18:17 +05:30
Anish Sarkar
45489423d1 feat: implement token encryption and state management for OAuth connectors
- Added encryption for sensitive tokens (access token, refresh token, client secret) in Google Calendar, Google Drive, Gmail, Linear, and Notion connectors to enhance security.
- Introduced OAuthStateManager for secure state parameter generation and validation, improving the integrity of OAuth flows.
- Updated callback routes to handle state validation and error management, ensuring robust handling of authorization processes.
- Enhanced indexers to support decryption of tokens for backward compatibility, maintaining functionality with existing encrypted credentials.
- Improved validation for date parameters in connector routes to ensure proper input handling.
2026-01-02 23:46:03 +05:30
melvnl
492cfb470f ui: adjust dashboard search spaces heading text and padding responsiveness 2026-01-03 01:09:33 +07:00