Commit Graph

5200 Commits

Author SHA1 Message Date
Anish Sarkar a869069a0d refactor(sidebar): adjust component dimensions and font sizes for improved visual consistency across sidebar elements 2026-04-28 22:58:44 +05:30
Anish Sarkar 6231c08b8b refactor(sidebar): standardize padding, font sizes, and icon dimensions across sidebar components for improved consistency 2026-04-28 20:21:18 +05:30
Anish Sarkar e60c5399af feat(icon-rail): integrate user profile component and enhance layout with user settings options 2026-04-28 19:29:14 +05:30
Anish Sarkar 282510f93c feat(mentions): add syncEditorState function to manage editor state and mentioned documents 2026-04-28 18:47:57 +05:30
Anish Sarkar 294c719965 feat(mentions): implement user message rendering with mention chips for referenced documents 2026-04-28 18:36:49 +05:30
Anish Sarkar 1427809119 refactor(mentions): consolidate sidebar document handling into mentionedDocumentsAtom and remove sidebarSelectedDocumentsAtom references 2026-04-28 18:20:53 +05:30
Anish Sarkar 960f761c6c feat(mentions): add sidebar mention event atom and enhance document mention handling in the editor 2026-04-28 17:50:21 +05:30
Rohan Verma f607636ba6 Merge pull request #1286 from AnishSarkar22/feat/obsidian-plugin
feat: introduce Obsidian vault sync plugin
2026-04-27 13:34:33 -07:00
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
Anish Sarkar e95e417cc8 feat: implement smooth scrolling for provider sidebar in ModelSelector 2026-04-27 01:19:05 +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
Anish Sarkar 5e756c8dfa refactor: replace MessageSquare with MessageCircleReply across various components
- Updated icon imports and usages in AssistantMessage, CommentItem, CommentSheet, CommentThread, and InboxSidebar components.
- Enhanced visual consistency by standardizing the reply icon throughout the chat-related UI elements.
2026-04-25 15:12:22 +05:30
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
Anish Sarkar f877269768 fix: update installation instructions for Obsidian connector 2026-04-25 04:17:22 +05:30
Anish Sarkar db866ce8be feat: trigger status refresh after queue flush in SyncEngine 2026-04-25 04:11:28 +05:30
Anish Sarkar 02795e08e3 feat: add server time to obsidian connect responses and enhance error handling
- Included server_time_utc in the connect response schema for better synchronization.
- Updated obsidian_connect function to set server_time_utc during connection handling.
- Enhanced integration tests to verify the presence of server_time_utc in responses.
- Improved connectivity status recovery in the sync engine for better error management.
2026-04-25 03:57:07 +05:30
Anish Sarkar 937965b335 feat: improve status handling and user feedback in SurfSense plugin
- Added refreshStatus method to update connection status immediately after settings changes.
- Enhanced error reporting with reportAuthError method for better authentication feedback.
- Updated status visuals in the status modal to reflect the new centralized structure.
- Improved connection handling in the settings tab to ensure accurate status representation.
2026-04-25 03:24:17 +05:30
Anish Sarkar 4f1c870987 feat: update status handling and connection indicator in SurfSense plugin
- Changed initial status to "needs-setup" to prompt user configuration.
- Added a refreshStatus method to SyncEngine for immediate status updates after settings changes.
- Enhanced connection indicator logic in the settings tab to reflect the new status.
- Introduced "needs-setup" status visual for improved user feedback on configuration requirements.
2026-04-25 02:16:38 +05:30
Anish Sarkar 68156d2e74 refactor: centralize status visuals and improve connection indicator logic
- Introduced a new `status-visuals.ts` file to centralize status icons and labels for consistency across the plugin.
- Updated connection indicator logic in the settings tab to utilize the new centralized visuals.
- Removed deprecated connection visual methods to streamline the codebase.
- Enhanced error handling in the status bar to reflect the new status visuals structure.
2026-04-25 01:47:37 +05:30
Anish Sarkar 1c18735d38 feat: enhance authentication handling and UI feedback in SurfSense plugin
- Introduced an authentication block mechanism to prevent repeated invalid token submissions.
- Updated notification logic to provide clearer feedback on API token status.
- Refactored status visuals for better clarity and consistency in the user interface.
- Improved connection handling in the sync engine to ensure robust error management.
2026-04-25 01:07:02 +05:30
Anish Sarkar e84dc87c5b feat(obsidian_plugin): validate binary attachments and enforce MIME type checks 2026-04-25 00:23:17 +05:30
Anish Sarkar 3b9be79d65 chore: update SurfSense plugin identifiers and versioning
- Changed plugin ID from "surfsense" to "surfsense-obsidian" for clarity.
- Updated version from "0.1.1" to "0.1.0" in manifest and versions files.
- Modified author URL to point to the official SurfSense website.
- Adjusted GitHub release workflow to ensure compatibility with Obsidian and BRAT.
2026-04-24 23:43:01 +05:30
Anish Sarkar 39f56a86d6 refactor(DocumentsFilters): update input styling and button positioning for improved UI consistency 2026-04-24 22:56:04 +05:30
Anish Sarkar 08740cad32 feat: enhance UI components and functionality across documents and report panels
- Updated styling for toggle buttons in DocumentsFilters for improved visual feedback.
- Added toolbar actions prop to PdfViewer for customizable actions in the zoom toolbar.
- Introduced download functionality in ReportPanel with a new Download icon.
- Refactored ReportCard to remove word count and display version labels for better clarity.
- Enhanced GenerateResume component to fetch and display version information for resumes.
2026-04-24 22:45:33 +05:30
Anish Sarkar 9b1b9a90c0 Merge remote-tracking branch 'upstream/dev' into feat/obsidian-plugin 2026-04-24 21:34:55 +05:30
Rohan Verma a0f2851784 Merge pull request #1299 from AnishSarkar22/feat/swappable-filesystem
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