Commit graph

67 commits

Author SHA1 Message Date
google-labs-jules[bot]
4bf09b8bde I've added comprehensive unit and integration tests for the recently implemented Slack connector features. This includes tests for backend logic (SlackHistory, indexing tasks, API routes) and frontend components and hooks.
Backend Tests (`surfsense_backend`):
- `test_slack_history.py`:
    - Tests for `SlackHistory` class methods including `get_all_channels`,
      `get_conversation_history`, timestamp conversions, and message
      formatting. Covers various API response scenarios, pagination,
      and error handling.
- `test_connectors_indexing_tasks.py`:
    - Unit tests for `index_slack_messages` task.
    - Scenarios include initial indexing, periodic indexing, on-demand
      re-indexing (targeted channels, force re-index, custom dates),
      channel filtering, and error handling.
    - Mocks `SlackHistory` and database interactions.
- `test_search_source_connectors_routes.py`:
    - Tests for `/slack/{connector_id}/discover-channels` endpoint.
    - Tests for `/slack/{connector_id}/reindex-channels` endpoint,
      verifying parameter passing to the background task.
    - Tests for the main `/search-source-connectors/{connector_id}/index`
      endpoint for Slack connectors, ensuring the `force_full_reindex`
      flag is handled.

Frontend Tests (`surfsense_web`):
- `components/editConnector/EditSlackConnectorConfigForm.test.tsx`:
    - Tests rendering of all Slack configuration fields.
    - Verifies `onConfigChange` callback functionality.
    - Tests conditional rendering of periodic indexing settings.
    - Checks disabled state of the form.
- `app/dashboard/[search_space_id]/connectors/[connector_id]/edit/page.test.tsx`:
    - Tests for the "Channel Management" tab specific to Slack connectors.
    - Verifies UI for discovering channels (mocking API calls).
    - Tests selection of channels and updating the connector configuration.
    - Tests UI for triggering on-demand re-indexing with various options.
- `hooks/useSearchSourceConnectors.test.ts`:
    - Unit tests for the `discoverSlackChannels` function, mocking `fetch`.
    - Unit tests for the `reindexSlackChannels` function, mocking `fetch`
      and verifying correct request body construction.
    - Includes testing of the `fetchWithAuth` helper function.
2025-05-28 10:48:28 +00:00
google-labs-jules[bot]
d1f11d4fbb feat: Enhance Slack Connector Functionality
I've implemented several improvements and new features for the Slack connector,
addressing your requirements for more granular control over indexing
and data synchronization.

Key changes include:

Backend (`surfsense_backend`):
- I've updated the `SearchSourceConnector` schema for Slack to include new
  configuration options:
    - `slack_periodic_indexing_enabled` (boolean)
    - `slack_periodic_indexing_frequency` (string: "daily", "weekly", "monthly")
    - `slack_max_messages_per_channel_periodic` (integer)
- I've modified the `index_slack_messages` task:
    - It now supports on-demand re-indexing of specific `target_channel_ids`.
    - It allows `force_reindex_all_messages` to override `last_indexed_at`
      for specified channels, using initial indexing settings or custom
      date ranges (`reindex_start_date_str`, `reindex_latest_date_str`).
    - It uses `slack_max_messages_per_channel_periodic` for regular
      periodic updates.
- I've updated the Slack Connector Routes:
    - The `/slack/{connector_id}/reindex-channels` endpoint now accepts
      `channel_ids`, `force_reindex_all_messages`, `reindex_start_date`,
      and `reindex_latest_date` to trigger targeted re-indexing.
    - The main `/connector/{id}/index` endpoint for Slack can now accept
      `force_full_reindex` to re-index all configured channels from scratch.

Frontend (`surfsense_web`):
- I've created `EditSlackConnectorConfigForm.tsx` to provide a dedicated UI
  for Slack connector settings, including the new periodic indexing fields.
- I've integrated this form into the main connector editing page
  (`.../connectors/[connector_id]/edit/page.tsx`).
- I've enhanced the Slack connector edit page with a "Channel Management" tab:
    - UI for discovering Slack channels via `/api/v1/slack/{id}/discover-channels`.
    - Allows selection of channels to be saved into
      `config.slack_selected_channel_ids` when membership filter is "selected".
    - UI for triggering on-demand re-indexing of selected channels via
      `/api/v1/slack/{id}/reindex-channels`, with options for forcing
      full re-index and specifying date ranges.
- I've updated the `useSearchSourceConnectors.ts` hook:
    - I've added the `discoverSlackChannels` function.
    - I've added the `reindexSlackChannels` function with parameters for
      channel IDs, force flag, and date ranges.

These changes fulfill your requirements for:
1. Configurable Membership/Join Behavior (via existing `slack_membership_filter_type` and new channel selection UI).
2. Configurable Periodic Indexing (new backend schema and UI fields).
3. Granular Channel Selection (new UI for discovering and selecting channels).
4. On-Demand Re-index (new backend and UI capabilities for specific channels).
5. Initial Indexing Timestamp Range (I've verified existing backend logic and UI).
2025-05-28 09:36:25 +00:00
DESKTOP-RTLN3BA\$punk
38516e74f9 Version Bump 2025-05-22 00:11:57 -07:00
DESKTOP-RTLN3BA\$punk
604791e6c5 fix: Added Suspense boundary in Login Page 2025-05-21 21:13:56 -07:00
DESKTOP-RTLN3BA\$punk
521ee4a1c4 feat: Removed Hard Dependecy on Google Auth
- Introduced LOCAL auth mode
2025-05-21 20:56:23 -07:00
DESKTOP-RTLN3BA\$punk
4c8b03ce2b feat: Code Block Syntax Highlighting & Copy Func 2025-05-19 23:19:20 -07:00
Rohan Verma
f291f441c0
Merge pull request #96 from cubxxw/feat/optimize-docker-compose
refactor: remove frontend and backend services
2025-05-13 23:19:12 -07:00
Xinwei Xiong
e8eac2deb0 docs: update deployment guide and Docker setup documentation to use 'docker compose' syntax 2025-05-14 14:00:30 +08:00
Xinwei Xiong
6d591094cc docs: update Docker setup documentation with deployment options and configuration details 2025-05-14 13:18:51 +08:00
DESKTOP-RTLN3BA\$punk
a8080d2dc7 feat: Added Speech to Text support.
- Supports audio & video files.
- Will be useful for Youtube vids which dont have transcripts.
2025-05-13 21:13:53 -07:00
mpawank
288798ade4 updated seo 2025-05-14 01:22:25 +05:30
mpawank
9ccbf848e8 updated layout.tsx for better seo 2025-05-14 00:55:22 +05:30
DESKTOP-RTLN3BA\$punk
a9db0a8ceb feat: Introduce the RAPTOR Search. 2025-05-11 23:05:56 -07:00
Rohan Verma
eda1d43935
Merge pull request #83 from cubxxw/feat/optimize-docker
feat: enhance Docker setup documentation and configuration options
2025-05-09 22:39:14 -07:00
Rohan Verma
7498c1e6fd
Merge pull request #84 from ritikprajapat21/main
Fix #45: Added connector icon
2025-05-09 22:32:15 -07:00
Xinwei Xiong
7a21282064 enhance Docker installation documentation with environment variable details and pgAdmin usage instructions 2025-05-10 13:19:18 +08:00
DESKTOP-RTLN3BA\$punk
2cee5acaa3 feat: Improved sub section writer agent & Chat UI 2025-05-09 22:14:22 -07:00
ritikprajapat21
32bff316e5 Fix #46: Changed to dynamic icon 2025-05-10 10:23:44 +05:30
ritikprajapat21
09c1693532 Fix #45: Added connector icon 2025-05-10 09:55:50 +05:30
DESKTOP-RTLN3BA\$punk
66c92129b1 fix docs 2025-05-08 19:53:15 -07:00
DESKTOP-RTLN3BA\$punk
451a1f4a95 fix: docs alignment 2025-05-08 19:49:11 -07:00
DESKTOP-RTLN3BA\$punk
4a2be4b98e fix: Added API_BASE param for LiteLLM. 2025-05-08 19:31:47 -07:00
DESKTOP-RTLN3BA\$punk
9f3d49ab93 recurse fix 2025-05-07 23:18:49 -07:00
DESKTOP-RTLN3BA\$punk
babaefc5e9 chore: UI Fixes 2025-05-07 23:05:47 -07:00
ritikprajapat21
fc30b88d14 Fix #66: Created sitemap
Could not find existing sitemap file so created a new sitemap file with
the listed url in the issue #66
2025-05-07 16:19:04 +05:30
DESKTOP-RTLN3BA\$punk
1bd0f8a885 chore: docs update for tts 2025-05-06 00:04:37 -07:00
DESKTOP-RTLN3BA\$punk
5c79831ca5 fix: coderabbit 2025-05-05 23:31:52 -07:00
DESKTOP-RTLN3BA\$punk
b4bee887bd feat: Added Podcast Feature and its actually fast.
- Fully Async
2025-05-05 23:18:12 -07:00
DESKTOP-RTLN3BA\$punk
906344d6f3 chore: qol patches 2025-05-03 01:08:19 -07:00
DESKTOP-RTLN3BA\$punk
dc97072145 chore: updated docs 2025-04-30 23:52:58 -07:00
DESKTOP-RTLN3BA\$punk
3675505eb1 feat: Added LinkUP Search Engine Connector 2025-04-27 15:53:33 -07:00
Exceeds_Lenovo\rohan
a7389b6d2e fix(coderabbit): New URL 2025-04-25 15:44:11 -07:00
Exceeds_Lenovo\rohan
602f832399 feat(ui): performance fixes 2025-04-25 15:28:57 -07:00
DESKTOP-RTLN3BA\$punk
91936b0b28 fix: wrong citation mapping 2025-04-25 00:19:45 -07:00
DESKTOP-RTLN3BA\$punk
8cf736458a fix: list citations in markdown 2025-04-24 23:45:50 -07:00
DESKTOP-RTLN3BA\$punk
6669b16d87 fix: docs 2025-04-24 19:51:31 -07:00
DESKTOP-RTLN3BA\$punk
581ae89437 fix: update Dockerfile to handle fumadocs-mdx postinstall error by copying config and content before installation 2025-04-24 18:23:11 -07:00
DESKTOP-RTLN3BA\$punk
bfbe270031 chore: update ModernHeroWithGradients to link to documentation and modify installation instructions 2025-04-24 13:40:30 -07:00
DESKTOP-RTLN3BA\$punk
da2d606a43 feat: new docs 2025-04-24 01:39:56 -07:00
Exceeds_Lenovo\rohan
f445a2b130 chore: docs 2025-04-23 15:22:43 -07:00
DESKTOP-RTLN3BA\$punk
7044eae027 docs stuff 2025-04-23 15:22:43 -07:00
DESKTOP-RTLN3BA\$punk
b2f47d2803 updated .gitignore 2025-04-22 02:40:45 -07:00
DESKTOP-RTLN3BA\$punk
02cf7d9828 chore: Stop tracking .source directory 2025-04-22 02:37:49 -07:00
DESKTOP-RTLN3BA\$punk
0436d2ab64 feat: Added FumaDocs 2025-04-22 02:24:13 -07:00
DESKTOP-RTLN3BA\$punk
3155e7b0ac chore: Added Versions 2025-04-21 23:58:32 -07:00
DESKTOP-RTLN3BA\$punk
130f43a0fa feat: Removed GPT-Researcher in favour of own SurfSense LangGraph Agent 2025-04-20 19:19:35 -07:00
DESKTOP-RTLN3BA\$punk
2008b07304 fix: Docs & Chats in other search spaces 2025-04-17 23:19:56 -07:00
Adamsmith6300
32c721113c update edit connectors page to support linear connector 2025-04-16 22:06:50 -07:00
Adamsmith6300
f2f426d5eb merge conflicts 2025-04-16 21:34:51 -07:00
Adamsmith6300
53436370d6 refactor edit connector page for smaller file size 2025-04-16 21:25:29 -07:00