Commit graph

212 commits

Author SHA1 Message Date
MSI\ModSetter
3f62121ced feat(BACKEND): Implement task logging for connector indexing tasks
- Added TaskLoggingService to log the start, progress, success, and failure of indexing tasks for Slack, Notion, GitHub, Linear, and Discord connectors.
- Updated frontend to reflect changes in indexing status messages.
2025-07-17 02:16:53 -07:00
MSI\ModSetter
1eb072cc69 feat(BACKEND): Added Log Management System for better Bug's Tracking
- Background tasks are now logged so non tech users can effectively track the failurte points easily.
2025-07-16 01:10:33 -07:00
DESKTOP-RTLN3BA\$punk
a19a8af4ff fix: bad chat history logic 2025-07-10 15:06:25 -07:00
DESKTOP-RTLN3BA\$punk
f7fe20219b feat: Added Follow Up Qns Logic 2025-07-10 14:37:31 -07:00
DESKTOP-RTLN3BA\$punk
21fb231683 fix: Markdown & Text files as default support. 2025-07-07 22:55:51 -07:00
DESKTOP-RTLN3BA\$punk
5045b7433a refactor: Move utility services to a dedicated 'services' module
- Updated import paths for LLM, connector, query, and streaming services to reflect their new location in the 'services' module.
- Removed obsolete utility service files that have been migrated.
2025-07-06 17:51:24 -07:00
DESKTOP-RTLN3BA\$punk
671984acbd fix: Fix rerank_documents node in sub_section_writer & qna_agent 2025-07-03 14:09:36 -07:00
DESKTOP-RTLN3BA\$punk
3e1db2ac6b Revert "docs"
This reverts commit 707ed7e05f.
2025-07-03 14:09:36 -07:00
DESKTOP-RTLN3BA\$punk
707ed7e05f docs 2025-06-11 14:17:58 -07:00
Rohan Verma
08646d1efe
Merge pull request #168 from MuhamadAjiW/feat/uvicorn-config
Feature: Uvicorn Config on .env
2025-06-10 20:27:39 -07:00
DESKTOP-RTLN3BA\$punk
d8f2c5f7cf fix: generate content hash based on search space id as well.
- Allows Reindexing in selperate seatch spaces.
2025-06-10 13:56:23 -07:00
Muhamad Aji Wibisono
3022e44803 refactor: applied coderabbit refactor suggestion 2025-06-11 00:02:54 +07:00
Muhamad Aji Wibisono
5a39920e40 chore: removed duplicate .env var 2025-06-10 23:39:13 +07:00
Muhamad Aji Wibisono
d31b9589fb chore: organized env example style 2025-06-10 23:26:28 +07:00
Muhamad Aji Wibisono
131397de4e refactor: changed uvicorn server initialization 2025-06-10 23:23:11 +07:00
Muhamad Aji Wibisono
03919c88c6 fix: config loading into run 2025-06-10 23:23:11 +07:00
Muhamad Aji Wibisono
505d539fdf refactor: moved uvicorn env loading to ./app/config/uvicorn.py 2025-06-10 23:23:11 +07:00
Muhamad Aji Wibisono
587f9f4c09 feat: added richer uvicorn configuration in .env 2025-06-10 23:23:11 +07:00
Muhamad Aji Wibisono
376a7de23e feat: added proxy as an argument 2025-06-10 23:22:46 +07:00
DESKTOP-RTLN3BA\$punk
71e9ba4652 chore updated docs 2025-06-09 16:33:24 -07:00
DESKTOP-RTLN3BA\$punk
a85f7920a9 feat: added configurable LLM's 2025-06-09 15:50:15 -07:00
DESKTOP-RTLN3BA\$punk
99fa03d78b feat: Added Calender Based Indexing.
- This should stabalize manual syning.
2025-06-06 18:17:47 -07:00
DESKTOP-RTLN3BA\$punk
f5d279ccdc fix: q/a agent 2025-06-05 23:52:34 -07:00
DESKTOP-RTLN3BA\$punk
a22228f36e refactor: optimized document handling and added token management in Q&A and sub-section writing agents 2025-06-05 20:33:09 -07:00
DESKTOP-RTLN3BA\$punk
96f545f982 fix: Fix for case where nothing is selected for context. 2025-06-04 23:09:31 -07:00
DESKTOP-RTLN3BA\$punk
d7bb31f894 feat: Document Selector in Chat.
- Still need improvements but lets use it first.
2025-06-04 21:46:50 -07:00
DESKTOP-RTLN3BA\$punk
bc1642488f fix: Coderabbit & Recurse 2025-06-04 17:38:44 -07:00
DESKTOP-RTLN3BA\$punk
ef252e821e fix: to prevent collisions incase of fallback which should never happen 2025-06-04 17:30:15 -07:00
DESKTOP-RTLN3BA\$punk
52a9ad04bd feat: Stabilized Citation Logic 2025-06-04 17:19:31 -07:00
DESKTOP-RTLN3BA\$punk
deea3fa544 chore: remove VERSION file and clean up unused imports across multiple files 2025-06-03 01:33:21 -07:00
DESKTOP-RTLN3BA\$punk
cdc69c1c7d fix: coderabbit suggestions 2025-06-03 00:30:36 -07:00
DESKTOP-RTLN3BA\$punk
0c07898f4a feat: Added Q/A Mode in Research Agent 2025-06-03 00:10:35 -07:00
Muhamad Aji Wibisono
a3c91484ac feat: thread yielding for bot responsivity 2025-06-02 22:02:12 +07:00
Muhamad Aji Wibisono
ebfc2cb679 feat: optimized discord indexing by matching the document pattern 2025-06-02 21:04:13 +07:00
Muhamad Aji Wibisono
42cc1b8fbe feat: applied coderabbit suggestions 2025-06-02 21:03:50 +07:00
Muhamad Aji Wibisono
afc1100f6d feat: added more validation, discord bot connection timeout 2025-06-02 20:49:45 +07:00
Muhamad Aji Wibisono
d11b636113 feat: removed limit on message fetching 2025-06-02 20:26:14 +07:00
Muhamad Aji Wibisono
a0f9efdb67 fix: async thread on discord but 2025-06-02 19:22:04 +07:00
Muhamad Aji Wibisono
1d67a87b82 feat: discord knowledge retrieval 2025-06-02 18:43:32 +07:00
Muhamad Aji Wibisono
4b3c662478 feat: added discord indexer 2025-06-02 18:30:38 +07:00
Muhamad Aji Wibisono
0391c2290e feat: initialized discord connector 2025-06-02 18:20:17 +07:00
DESKTOP-RTLN3BA\$punk
0365febc8c fix for content hashing 2025-05-30 19:30:56 -07:00
DESKTOP-RTLN3BA\$punk
73751c0eb1 feat: Removed Hard Dependency on Unstructured.io
- Added Llamaparse Support :)
2025-05-30 19:17:19 -07:00
DESKTOP-RTLN3BA\$punk
a870e07cbf Merge commit 'fd6da4c4723ab28fc40605d109a9ba66cbd364e3' into dev 2025-05-28 23:52:33 -07:00
DESKTOP-RTLN3BA\$punk
5411bac8e0 feat: Added content based hashing to prevent duplicates and fix resync issues 2025-05-28 23:52:00 -07:00
google-labs-jules[bot]
379694c267 Hotfix: Remove non-printable characters from slack_history.py
This commit addresses recurring `SyntaxError: invalid non-printable character U+001B`
errors in `surfsense_backend/app/connectors/slack_history.py`.

The file was cleaned to remove all occurrences of the
U+001B (ESCAPE) character. This ensures that previously introduced
problematic control characters are fully removed, allowing the application
to parse and load the module correctly.
2025-05-27 13:44:56 +00:00
google-labs-jules[bot]
299bb35d8c Hi there, it's Jules! I've just finished making some improvements.
Here's a rundown of what I did:

Fix: Robust Slack rate limiting, error handling & GitHub org repos

This update delivers comprehensive improvements to Slack connector stability and enhances the GitHub connector.

**Slack Connector (`slack_history.py`, `connectors_indexing_tasks.py`):**
- I've implemented proactive delays (1.2s for `conversations.history`, 3s for `conversations.list` pagination) and `Retry-After` header handling for 429 rate limit errors across `conversations.list`, `conversations.history`, and `users.info` API calls.
- I'll now gracefully handle `not_in_channel` errors when fetching conversation history by logging a warning and skipping the channel.
- I've refactored channel info fetching: `get_all_channels` now returns richer channel data (including `is_member`, `is_private`).
- I've removed direct calls to `conversations.info` from `connectors_indexing_tasks.py`, using the richer data from `get_all_channels` instead, to prevent associated rate limits.
- I corrected a `SyntaxError` (non-printable character) in `slack_history.py`.
- I've enhanced logging for rate limit actions, delays, and errors.
- I've updated unit tests in `test_slack_history.py` to cover all new logic.

**GitHub Connector (`github_connector.py`):**
- I've modified `get_user_repositories` to fetch all repositories accessible by you (owned, collaborated, organization) by changing the API call parameter from `type='owner'` to `type='all'`.
- I've included unit tests in `test_github_connector.py` for this change.
2025-05-27 13:39:42 +00:00
google-labs-jules[bot]
ce1014c8c2 Fix: Handle Slack rate limits and add GitHub org repo support
This commit includes two main improvements:

1. Slack Connector (`slack_history.py`):
   - Addresses API rate limiting for `conversations.list` by introducing a 3-second delay between paginated calls.
   - Implements handling for the `Retry-After` header when HTTP 429 errors occur.
   - Fixes a `SyntaxError` caused by a non-printable character accidentally introduced in a previous modification.
   - Adds comprehensive unit tests for the rate limiting and retry logic in `test_slack_history.py`.

2. GitHub Connector (`github_connector.py`):
   - Modifies `get_user_repositories` to fetch all repositories accessible by you (including organization repositories) by changing the API call parameter from `type='owner'` to `type='all'`.
   - Adds unit tests in `test_github_connector.py` to verify this change and other connector functionalities.
2025-05-27 13:27:10 +00:00
google-labs-jules[bot]
807c83b2f6 Fix: Handle Slack API rate limiting for conversations.list
The `get_all_channels` method in `slack_history.py` was making paginated
requests to `conversations.list` without any delay, leading to HTTP 429
errors when fetching channels from large Slack workspaces.

This commit introduces the following changes:
- Adds a 3-second delay between paginated calls to `conversations.list`
  to comply with Slack's Tier 2 rate limits (approx. 20 requests/minute).
- Implements handling for the `Retry-After` header when a 429 error is
  received. The system will wait for the specified duration before
  retrying. If the header is missing or invalid, a default of 60 seconds
  is used.
- Adds comprehensive unit tests to verify the new delay and retry logic,
  covering scenarios with and without the `Retry-After` header, as well
  as other API errors.
2025-05-27 12:56:26 +00:00
DESKTOP-RTLN3BA\$punk
38516e74f9 Version Bump 2025-05-22 00:11:57 -07:00