Commit graph

889 commits

Author SHA1 Message Date
API Test Bot
a052b01a68 docs: update PRD with comprehensive extension features and UX integration strategy
- Added UX strategy: Extension for Quick Actions, Frontend for Management
- Organized features into 4 phases (Phase 1 completed)
- Added 14 new extension features (FR-EXT-07 to FR-EXT-17):
  * Smart Monitoring: Price alerts, whale tracking, rug pull detection
  * Trading Intelligence: Token analysis, entry/exit suggestions, portfolio tracker
  * Content Creation: Chart screenshots, AI thread generator
  * Productivity: Quick actions, notifications, keyboard shortcuts
- Added Feature Responsibility Matrix showing Extension vs Frontend roles
- Added Settings Sync strategy (FR-EXT-06) with deep links to frontend
- Documented state sync architecture: Extension ↔ Backend API ↔ Frontend
2026-02-01 21:32:06 +07:00
API Test Bot
828d7d695a feat: Add DexScreener RAG retrieval test and token validation, configure Serena project settings, and update admin guide with default admin account details. 2026-02-01 14:24:01 +07:00
API Test Bot
b5d0413459 fix(rag): Add DEXSCREENER_CONNECTOR to searchable mapping
- Added DEXSCREENER_CONNECTOR to _CONNECTOR_TYPE_TO_SEARCHABLE in chat_deepagent.py
- This fixes LLM's inability to search DexScreener data despite it being indexed
- Root cause: connector was enabled in DB but missing from mapping, causing it to be filtered out
- Verified: LLM now successfully retrieves WETH price (~$2,442) with DexScreener citations

Related files:
- chat_deepagent.py: Added connector mapping
- knowledge_base.py: Added debug logging for DexScreener search
- connector_service.py: Fixed metadata field names (base_symbol, quote_symbol, dex)
- 85_add_dexscreener_connector.py: Migration for connector type
2026-02-01 14:20:34 +07:00
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
DESKTOP-RTLN3BA\$punk
6fb656fd8f hotpatch(cloud): add llm load balancing 2026-01-29 15:28:31 -08: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
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
b10be762b6 Merge remote-tracking branch 'upstream/dev' into fix/drive-connector 2026-01-28 14:18:11 +05:30
Anish Sarkar
614761bb17 Merge remote-tracking branch 'upstream/dev' into feat/inbox 2026-01-28 09:26:04 +05:30
Anish Sarkar
c125c9e87f chore: ran backend linting 2026-01-28 09:10:37 +05:30
Anish Sarkar
aab547264e feat(connector): implement duplicate detection by Google Drive file ID and generate settings hash for indexing configuration changes 2026-01-28 09:09:58 +05:30
DESKTOP-RTLN3BA\$punk
b598cbeac3 feat(backend): Enhance LlamaCloud upload resilience with dynamic timeout calculations and increased retry settings 2026-01-27 17:50:45 -08:00
Anish Sarkar
3af4fd0533 feat(indexing): add content hash check to prevent duplicate indexing and update return values for indexing functions 2026-01-28 03:55:25 +05:30
CREDO23
0c8d1f3fef refactor(backend): two-phase synchronous cloning 2026-01-28 00:17:29 +02:00
Anish Sarkar
79f7dfbbed feat(notifications): enhance inbox functionality with type filtering and independent pagination for mentions and status notifications 2026-01-28 02:14:36 +05:30
CREDO23
0fbf5d5bdd fix: podcast status enum serialization and frontend polling 2026-01-27 19:07:46 +02:00
CREDO23
87c7d92672 feat: add podcast status tracking 2026-01-27 17:51:36 +02:00
CREDO23
c65cda24d7 style: fix formatting issues 2026-01-27 13:49:46 +02:00
CREDO23
3c40c6e365 feat: add clone tracking and history bootstrap for cloned chats 2026-01-27 13:33:36 +02:00
CREDO23
a7145b2c63 merge: upstream/dev with migration renumbering 2026-01-27 11:22:26 +02:00
CREDO23
6091e070f3 chore: remove unused import and restrict noAuthPrefixes 2026-01-27 11:11:08 +02:00
DESKTOP-RTLN3BA\$punk
fd564d3efd feat(rbac): add human-readable descriptions for permissions and enhance role creation UI 2026-01-26 23:56:45 -08:00
DESKTOP-RTLN3BA\$punk
39d65d6166 feat: added incentive credits system 2026-01-26 23:32:30 -08:00
CREDO23
1c98ba989d fix: register clone task and sanitize cloned content 2026-01-26 21:01:36 +02:00
CREDO23
271de96cce fix: public chat copy link button and podcast access 2026-01-26 20:10:03 +02:00
CREDO23
ee65e1377f feat: improve public chat UI and shared components 2026-01-26 18:39:59 +02:00
CREDO23
aeb0deb21e feat: enable public access for podcasts in shared chats 2026-01-26 15:56:49 +02:00
CREDO23
7017a14107 feat: pass thread_id through podcast generation chain 2026-01-26 15:56:34 +02:00