Commit graph

1662 commits

Author SHA1 Message Date
Anish Sarkar
2b2acfebb6 feat: enhance DiscordConnector with start event signaling for improved initialization handling 2026-02-01 03:32:45 +05:30
aaron hu
3f40ab0629 docs: fix typos in documentation 2026-02-01 05:09:53 +08:00
Anish Sarkar
3c5bf6c83c refactor: simplify Slack client initialization by directly passing the token 2026-02-01 02:28:38 +05:30
Anish Sarkar
024a683b4f feat: add heartbeat callback support for long-running indexing tasks and implement stale notification cleanup task 2026-02-01 02:17:06 +05:30
Anish Sarkar
59dd9554b3 feat: add endpoint to fetch Slack channels with bot membership status and update UI to display channels 2026-01-31 18:30:50 +05:30
Anish Sarkar
5e555a8f9a fix: improve notification for token expiration and revocation errors for multiple connectors 2026-01-31 16:24:43 +05:30
API Test Bot
d654556eb8 fix(backend): Add DexScreener to periodic indexing schedule checker
- Import DexScreenerIndexer in schedule_checker_task.py
- Enable periodic sync support for DexScreener connector
- Ensures automated token data updates work correctly
2026-01-31 17:27:38 +07:00
API Test Bot
8dd41adae4 test(backend): Add pytest testing infrastructure
- Add pytest, pytest-asyncio, pytest-mock to dev dependencies
- Configure pytest in pyproject.toml with async support
- Create tests directory structure with conftest.py
- Set up unit test framework for connector testing
- Enable automated testing for backend components
2026-01-31 17:27:18 +07:00
API Test Bot
9e27081862 refactor(backend): Extract Airtable token refresh to shared utility
- Create app/utils/airtable_token_utils.py for token refresh logic
- Update all connectors to use centralized token refresh function
- Affected connectors: airtable, clickup, confluence, discord, jira, notion, slack, teams
- Improves code reusability and maintainability
- No functional changes, pure refactoring
2026-01-31 17:27:14 +07:00
API Test Bot
9f66d5ca25 feat(backend): Implement DexScreener connector (Story 1.1)
Core Implementation:
- Add DexScreenerConnector class with public API integration
- Implement token pair data fetching and indexing
- Add API routes: add, delete, test endpoints
- Register connector in task indexers and Celery tasks
- Add DEXSCREENER_CONNECTOR enum to database models

Features:
- Support up to 50 tokens per connector
- Track prices, volume, liquidity across multiple DEXs
- EVM and Solana address validation
- Periodic sync support
- No API key required (public DexScreener API)

API Endpoints:
- POST /api/v1/connectors/dexscreener/add
- DELETE /api/v1/connectors/dexscreener
- GET /api/v1/connectors/dexscreener/test

All endpoints require JWT authentication 
Integration tests passing 
Ready for production deployment 
2026-01-31 17:25:48 +07:00
API Test Bot
8fec08edcd feat(backend): Add DexScreener connector database migration
- Add Alembic migration 85 to add DEXSCREENER_CONNECTOR enum value
- Migration uses IF NOT EXISTS for safe production deployment
- Add integration test script for DexScreener API endpoints
- Verify all endpoints require JWT authentication
- Confirm migration successfully applied (DB version 85)

Story 1.1 Backend: Complete 
- All API endpoints functional (add, delete, test)
- Database schema synchronized
- Integration tests passing
- Ready for Story 1.2 (Frontend UI)
2026-01-31 17:25:31 +07:00
API Test Bot
524d9ab390 feat: Add comprehensive BMAD agent, workflow, and documentation framework. 2026-01-31 14:48:53 +07:00
Rohan Verma
a0bbd9e2e1
Merge pull request #758 from AKC777/fix/ollama-tool-calling
fix: use ollama_chat provider for proper tool calls support
2026-01-30 21:04:11 -08:00
akc
bcc77c2864 fix: also update PROVIDER_MAP in llm_router_service.py for Auto mode 2026-01-31 01:50:05 +03:00
Rohan Verma
4e04b4053a
Merge pull request #756 from AnishSarkar22/fix/google-calendar-connectors
fix: google calendar issues (composio & non-composio)
2026-01-30 14:40:26 -08:00
Rohan Verma
660492014a
Merge pull request #753 from elammertsma/dev
fix(database): handle duplicate podcast_status type creation gracefully
2026-01-30 14:39:59 -08:00
akc
35416c220a fix: use ollama_chat provider for proper tool 2026-01-30 21:16:40 +03:00
CREDO23
d2ebd3ec00 fix: snapshot deletion during regeneration 2026-01-30 18:44:33 +02:00
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
CREDO23
bc0fb3cb68 feat: track cloned_from_snapshot_id for cloned chats 2026-01-30 17:08:07 +02:00
CREDO23
2ec7050603 fix: handle deleted authors when cloning public chat 2026-01-30 16:53:10 +02:00
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
CREDO23
070bb42506 feat: clone podcasts when cloning public chat
Creates new podcast records for cloned user with thread_id,
updates podcast_id references in message content.
2026-01-30 16:21:01 +02:00
CREDO23
e3d6b1d789 fix: remove deprecated public_share_enabled from thread list 2026-01-30 14:45:55 +02:00
CREDO23
b8338d8643 feat: add public podcast endpoints and player support 2026-01-30 14:36:35 +02:00
DESKTOP-RTLN3BA\$punk
6fb656fd8f hotpatch(cloud): add llm load balancing 2026-01-29 15:28:31 -08:00
Eric Lammertsma
1f1d513437 fix(database): handle duplicate podcast_status type creation gracefully
Modify the upgrade function to prevent errors when creating the podcast_status ENUM type by wrapping the creation in a DO block that catches duplicate_object exceptions.
2026-01-29 15:16:08 -05:00
CREDO23
fb73a2e69f refactor: require auth for podcast endpoints, remove public check 2026-01-29 20:49:05 +02:00
CREDO23
005ceaa2e8 refactor: add snapshot endpoints, remove deprecated clone/share endpoints 2026-01-29 20:43:48 +02:00
CREDO23
e7242be763 refactor: update public_chat_routes and schemas for snapshots 2026-01-29 20:35:01 +02:00
CREDO23
a45412abad refactor: rewrite public_chat_service for immutable snapshots 2026-01-29 20:24:50 +02:00
CREDO23
665354b33d migration: add public_chat_snapshots table, drop deprecated columns 2026-01-29 16:11:30 +02:00
CREDO23
439b1547af refactor: add PublicChatSnapshot model, remove deprecated public share columns 2026-01-29 16:05:36 +02:00
DESKTOP-RTLN3BA\$punk
d39bf3510f chore: linting 2026-01-28 22:20:23 -08:00
DESKTOP-RTLN3BA\$punk
8e6826dd66 Merge branch 'dev' of https://github.com/MODSetter/SurfSense into dev 2026-01-28 22:15:53 -08:00
DESKTOP-RTLN3BA\$punk
70fcb2d055 chore: linting 2026-01-28 22:15:43 -08:00
Rohan Verma
5cbaca7701
Merge pull request #750 from AnishSarkar22/fix/notion-connector
fix: notion connector issues
2026-01-28 22:08:29 -08:00
DESKTOP-RTLN3BA\$punk
16b839138d feat(backend): add new incentive task type for Reddit follow
Introduce a new incentive task type, REDDIT_FOLLOW, to encourage users to join the SurfSense community on Reddit. This includes a title, description, pages reward, and action URL for the task.
2026-01-28 21:58:49 -08:00
Anish Sarkar
076270ab86 fix(backend): enhance indexing success logging to include informational warnings about API limitations 2026-01-29 10:54:15 +05:30
Anish Sarkar
1658724fb2 Merge remote-tracking branch 'upstream/dev' into fix/notion-connector 2026-01-29 10:45:31 +05:30
Rohan Verma
0b65c3a98c
Merge pull request #751 from CREDO23/fix-various-issues
[FIX] Connector indexing, chat cloning, and Gmail date handling fixes
2026-01-28 16:40:49 -08:00
CREDO23
949ec949f6 style(backend): run ruff format on 10 files 2026-01-28 22:20:02 +02:00
CREDO23
20b8a17254 fix(backend): handle non-string elements in webcrawler URL list
Add isinstance check to prevent AttributeError when INITIAL_URLS list
contains non-string elements (None, int, dict) from malformed config data.
2026-01-28 22:16:58 +02:00
Anish Sarkar
59d5bf9aa5 fix(backend): Add error handling for invalid pagination cursor in NotionHistoryConnector to ensure graceful continuation of data fetching 2026-01-28 23:18:10 +05:30
CREDO23
ecb5572e69 fix(backend): remove inaccessible podcast references when cloning chats
When a podcast can't be cloned (not READY), remove the podcast_id from
the cloned message to prevent 403 errors when users try to access it.
2026-01-28 19:25:15 +02:00
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