Rohan Verma
19f4668e8b
Merge pull request #1314 from AnishSarkar22/fix/swappable-filesystem
...
fix: improve swappable filesystem architecture
2026-04-27 13:32:56 -07:00
Rohan Verma
7d782c7837
Merge pull request #1306 from mvanhorn/osc/1295-github-connector-heartbeat
...
fix(connectors): refresh Redis heartbeat during long Phase 1 indexing
2026-04-27 13:31:06 -07:00
Anish Sarkar
c238a671c8
feat(filesystem): enhance local mount path normalization and add error handling for missing parent directories
2026-04-28 01:54:26 +05:30
Anish Sarkar
7134b0feae
refactor(file_intent): remove _infer_text_file_extension function and standardize fallback filename to 'notes.md'
2026-04-28 00:57:07 +05:30
Anish Sarkar
7bcb6306c5
refactor(filesystem): streamline filesystem operations by removing cursor-based pagination and enhancing path normalization methods
2026-04-28 00:45:07 +05:30
Anish Sarkar
3fa8c790f5
feat(filesystem): add move and list_tree functionalities to enhance local folder operations
2026-04-27 22:32:37 +05:30
Anish Sarkar
95511f0915
feat(sidebar): implement canonicalize roots, authoritative mount handling & preserved incremental UX for local folder mode
2026-04-27 19:58:12 +05:30
Matt Van Horn
a08066e2f9
style: ruff format Redis heartbeat refresh in connectors route
2026-04-26 08:59:16 -07:00
Matt Van Horn
456dd7417c
fix(connectors): refresh Redis heartbeat during long Phase 1 indexing
...
Closes #1295
The connector indexing route's `_run_indexing_with_notifications` set the
Redis heartbeat key once at the start of indexing and relied on
`on_heartbeat_callback` (only fired in Phase 2 per-document loops) to
refresh it. The GitHub connector's Phase 1 runs `gitingest` as a blocking
subprocess via `asyncio.to_thread`, so for any repo larger than the
2-minute TTL, the key expires before Phase 2 starts. The
`cleanup_stale_indexing_notifications_task` then marks the document as
failed with the misleading "Sync was interrupted unexpectedly. Please
retry." message — even though the indexing thread is still running and
gitingest's own subprocess timeout is 900 seconds.
Add a background asyncio coroutine that refreshes the Redis key every
60 seconds for the duration of the indexing call. Same pattern already
in use at app/tasks/celery_tasks/document_tasks.py:_run_heartbeat_loop,
just adapted to use the route's get_heartbeat_redis_client() and
_get_heartbeat_key() helpers.
Cancellation runs in the `finally` block BEFORE the heartbeat-key
delete so the loop cannot race and re-create the key after we have
deleted it. The new `HEARTBEAT_REFRESH_INTERVAL = 60` constant mirrors
the celery task module's value.
2026-04-26 02:46:43 -07:00
Rohan Verma
a0f2851784
Merge pull request #1299 from AnishSarkar22/feat/swappable-filesystem
...
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
feat: introduce swappable filesystem on desktop & monaco editor to edit local files
2026-04-23 19:38:33 -07:00
Anish Sarkar
7063d6d1e4
feat(filesystem): improve path normalization in SurfSenseFilesystemMiddleware to handle Windows-style paths and mixed separators
2026-04-24 06:09:22 +05:30
Anish Sarkar
30b55a9baa
feat(filesystem): refactor local filesystem handling to use mounts instead of root paths, enhancing mount management and path normalization
2026-04-24 05:59:21 +05:30
Anish Sarkar
1e9db6f26f
feat(filesystem): enhance local mount path normalization and improve virtual path handling in agent filesystem
2026-04-24 02:12:30 +05:30
Anish Sarkar
6721919398
feat(filesystem): add multi-root local folder support in backend
2026-04-24 01:44:23 +05:30
Anish Sarkar
864f6f798a
feat(filesystem): enhance local file handling in editor and IPC integration
2026-04-23 17:23:38 +05:30
Anish Sarkar
1eadecee23
feat(new-chat): integrate filesystem flow into agent pipeline
2026-04-23 15:45:33 +05:30
Anish Sarkar
42d2d2222e
feat(filesystem): add local folder backend and verification coverage
2026-04-23 15:44:12 +05:30
CREDO23
739345671b
fix: break circular import in llm_service and kb_sync_service files
2026-04-23 11:47:15 +02:00
Anish Sarkar
15a9e8b085
feat(middleware): detect file intent in chat messages
2026-04-23 15:03:32 +05:30
Anish Sarkar
749116e830
feat(new-chat): add filesystem backend interfaces and selection helpers
2026-04-23 15:02:58 +05:30
CREDO23
45b72de481
fix: robust generic MCP tool routing, retry, and empty-schema handling
2026-04-23 11:30:58 +02:00
CREDO23
cf7c14cf44
fix: mark connector auth_expired on token decryption failure
2026-04-23 09:27:03 +02:00
CREDO23
0b3551bd06
perf: parallelize MCP connector discovery with per-connector timeout
2026-04-23 08:40:06 +02:00
CREDO23
e3172dc282
fix: reactive 401 recovery for live MCP connectors and unified reauth endpoints
2026-04-23 08:27:11 +02:00
CREDO23
16f47578d7
Enhance MCP tool trust functionality to support OAuth-backed connectors and improve error handling in the UI. Refactor API calls to use baseApiService for consistency.
2026-04-23 08:03:32 +02:00
Rohan Verma
7245ab4046
Merge pull request #1294 from CREDO23/feature/mcp-migration
...
Build and Push Docker Images / tag_release (push) Waiting to run
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Blocked by required conditions
[FEAT] Live connector tools via MCP OAuth and native APIs
2026-04-22 21:00:28 -07:00
CREDO23
b6c506abef
fix: treat all Gmail/Calendar as live connectors, hide indexing UI
2026-04-22 22:51:28 +02:00
CREDO23
9977f9b641
remove dead indexing tasks and fix silent schedule breakage for live connectors
2026-04-22 21:43:51 +02:00
CREDO23
0eae96bffb
fix: harden MCP OAuth and connector edge cases
2026-04-22 20:54:42 +02:00
CREDO23
01153b0d7e
fix: cache TokenEncryption, clear stale router caches on re-init
2026-04-22 20:24:45 +02:00
CREDO23
a1d03da896
fix: encrypt tokens at rest, invalidate cache on refresh, clean up logging
2026-04-22 20:08:19 +02:00
CREDO23
4915675f45
Merge upstream/dev into feature/mcp-migration
2026-04-22 19:53:26 +02:00
CREDO23
a4134f1f03
fix alembic migration version numbering
2026-04-22 19:00:27 +02:00
CREDO23
9452d1090a
replace broken native Jira/Linear tools with MCP equivalents
2026-04-22 18:57:49 +02:00
CREDO23
f2d9e67ac2
add multi-account MCP tool disambiguation with prefix namespacing
2026-04-22 18:57:43 +02:00
CREDO23
9eb54bc4af
add account metadata discovery and connected_accounts tool
2026-04-22 18:57:26 +02:00
Anish Sarkar
8ca4465a50
fix: adjust spacing in resume template for highlights
2026-04-22 19:24:30 +05:30
Anish Sarkar
8b67d5416e
docs: update resume template guidelines for skills sections
2026-04-22 18:46:55 +05:30
Anish Sarkar
144e513068
feat: implement resume page limit functionality
2026-04-22 18:46:17 +05:30
DESKTOP-RTLN3BA\$punk
435406c302
temp(hotpatch): block github_coplot custom provider
2026-04-22 04:04:08 -07:00
CREDO23
dfa40b8801
fix MCP OAuth for all 5 services, add MCP connector edit view
2026-04-22 10:50:43 +02:00
CREDO23
dde1948a5c
fix Slack MCP OAuth: v2 endpoint, user_scope param, nested token extraction
2026-04-22 10:06:12 +02:00
DESKTOP-RTLN3BA\$punk
80d3f624d4
chore: linting
2026-04-22 01:05:31 -07:00
CREDO23
970f62278b
revert scope_param, use standard scope for Slack v2_user endpoint
2026-04-22 09:56:18 +02:00
DESKTOP-RTLN3BA\$punk
95de0547f4
feat: add default API base URLs for LiteLLM providers and enhance fallback handling in LLMRouterService
2026-04-22 00:56:05 -07:00
CREDO23
820326e3ee
use user_scope param for Slack OAuth
2026-04-22 09:54:16 +02:00
CREDO23
3638d72b29
restore full Slack MCP scopes for all MCP tools
2026-04-22 09:41:19 +02:00
CREDO23
225236e6f1
add required OAuth scopes for Slack MCP
2026-04-22 09:35:15 +02:00
CREDO23
0cc2475f6b
add required OAuth scopes for Airtable MCP
2026-04-22 09:21:19 +02:00
CREDO23
2f4052aa71
use pre-configured credentials for Airtable MCP OAuth
2026-04-22 09:15:06 +02:00