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
8c06709295
refactor(source-code-editor): update editor settings by adjusting line number display, disabling folding, and modifying whitespace rendering options
2026-04-28 01:26:33 +05:30
Rohan Verma
6895b01e30
Merge pull request #1303 from mvanhorn/osc/announcements-seo-metadata-dev
...
feat(announcements): add SEO metadata via server layout.tsx
2026-04-27 12:42:54 -07:00
Anish Sarkar
b85b7cbae0
feat(filesystem): introduce support for local openable text file extensions and enhance folder expansion persistence in the UI
2026-04-28 01:12:15 +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
f330d1431c
feat(filesystem): implement filesystem tree watch functionality using chokidar for real-time updates on local folder changes
2026-04-27 23:08:32 +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
1190ee9449
feat(sidebar): separate DesktopLocalTabContent component for reducing bundle size in web
2026-04-27 21:17:47 +05:30
Anish Sarkar
27e16231c1
feat(filesystem): enhance agent filesystem API with searchSpaceId support for improved context handling
2026-04-27 21:00:40 +05:30
Anish Sarkar
86e2dc8a5d
refactor(filesystem): remove unused drag-and-drop functionality in DocumentsSidebar
2026-04-27 20:20:14 +05:30
Anish Sarkar
6aa172a730
feat(filesystem): increase max local roots to 10, optimize path normalization, and implement caching for filesystem settings
2026-04-27 20:07:02 +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
Anish Sarkar
dbdeaa1bcf
feat(sidebar): add loading skeletons to DocumentsSidebar and LocalFilesystemBrowser during data fetching
2026-04-27 04:03:53 +05:30
Anish Sarkar
f7fa96ccd0
feat(sidebar): enhance DocumentsSidebar with tooltip support for folder addition, improving user feedback on folder limits
2026-04-27 02:53:26 +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
Matt Van Horn
3487664bbd
feat(announcements): add SEO metadata via server layout.tsx
...
The announcements page is a public, crawlable route but its page.tsx is
'use client', so it can't export metadata itself and falls back to the
root app/layout.tsx. Add a server-component layout.tsx under
app/(home)/announcements/ that exports route-specific metadata (title,
description, canonical, OpenGraph, Twitter) in the same shape as the
neighboring /blog, /changelog, /contact, /privacy, /terms routes.
page.tsx is unchanged.
Canonical URL matches app/layout.tsx's metadataBase
(https://surfsense.com ).
Fixes #1244
2026-04-24 15:58:20 -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
Rohan Verma
f3c4daa592
Merge pull request #1298 from tmchow/osc/1245-dedupe-anon-upload
...
refactor(anon-chat): dedupe upload via anonymousChatApiService
2026-04-23 19:37:23 -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
a7a758f26e
feat(filesystem): add getAgentFilesystemMounts API and integrate with LocalFilesystemBrowser for improved mount management
2026-04-24 05:03:23 +05:30
Anish Sarkar
ce71897286
refactor(hotkeys): simplify hotkey display logic and replace icon representation with text in DesktopShortcutsContent and login page
2026-04-24 04:54:48 +05:30
Anish Sarkar
d1c14160e3
feat(sidebar): enhance DocumentsSidebar with dropdown menu for local folder management and improve UI interactions
2026-04-24 04:42:24 +05:30
Anish Sarkar
b5400caea6
feat(sidebar): implement local filesystem browser and enhance document sidebar with local folder management features
2026-04-24 03:55:24 +05:30
Anish Sarkar
2618205749
refactor(thread): remove unused filesystem settings and related logic from Composer component
2026-04-24 03:52:39 +05:30
Anish Sarkar
17f9ee4b59
refactor(icons): replace 'Pen' icon with 'Pencil' across various components for consistency
2026-04-24 02:33:57 +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
c1a07a093e
refactor(sidebar): use Monitor icon for system theme option
2026-04-24 01:46:44 +05:30
Anish Sarkar
a250f97162
feat(thread): support selecting and managing multiple local folders
2026-04-24 01:46:32 +05:30
Anish Sarkar
3ee2683391
feat(filesystem): propagate localRootPaths across desktop and web API
2026-04-24 01:45:13 +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
daac6b5269
feat(login): implement customizable hotkey management in the login page with enhanced UI components
2026-04-24 00:06:38 +05:30
Anish Sarkar
46056ee514
fix(settings): update user settings dialog labels and enhance DesktopShortcutsContent component for better hotkey management
2026-04-23 23:52:49 +05:30
Rohan Verma
09ab174221
Merge pull request #1297 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
[Improvement] MCP OAuth trust, 401 recovery, parallel discovery & connector UX
2026-04-23 11:13:54 -07:00
Anish Sarkar
fb2aecea46
feat(settings): add DesktopShortcutsContent component for managing hotkeys and update user settings dialog
2026-04-23 22:49:59 +05:30
Anish Sarkar
84145566e3
feat(editor): implement local filesystem trust dialog and enhance filesystem mode selection
2026-04-23 22:27:58 +05:30
Anish Sarkar
18b4a6ea24
refactor(ui): update icon imports and adjust button styles in editor and report panels
2026-04-23 21:03:12 +05:30
Anish Sarkar
b5921bf139
feat(markdown): enhance code block rendering for local web files and improve inline code styling
2026-04-23 20:47:00 +05:30
Anish Sarkar
a1d3356bf5
feat(editor): add reserveToolbarSpace option to enhance toolbar visibility management
2026-04-23 20:13:29 +05:30
Anish Sarkar
0381632bc2
refactor(editor): replace Loader2 with Spinner component and enhance save button visibility
2026-04-23 20:03:18 +05:30
Anish Sarkar
06b509213c
feat(editor): add mode toggle functionality and improve editor state management
2026-04-23 19:52:55 +05:30
Anish Sarkar
9317b3f9fc
refactor(editor): remove auto-save functionality and simplify SourceCodeEditor props
2026-04-23 19:25:59 +05:30
Anish Sarkar
fe9ffa1413
refactor(editor): improve SourceCodeEditor styling and enhance scrollbar behavior
2026-04-23 18:39:35 +05:30
Anish Sarkar
3f203f8c49
feat(editor): implement auto-save functionality and manual save command in SourceCodeEditor
2026-04-23 18:29:32 +05:30
Anish Sarkar
d397fec54f
feat(editor): add SourceCodeEditor component for enhanced code editing experience
2026-04-23 18:21:50 +05:30
Anish Sarkar
bbc1c76c0d
feat(editor): integrate Monaco Editor for local file editing and enhance language inference
2026-04-23 18:00:51 +05:30