yeranyang
942077c773
perf(docs): replace full lucide barrel import with explicit icon whitelist
...
Fixes #1241
The docs bundle was importing `{ icons }` from lucide-react, which pulls
the entire Lucide icon library (~1 400 SVGs, ~500 kB of JS) into the Next.js
docs bundle even though only nine icons are used in docs frontmatter and
meta.json files.
Replace with a hand-maintained DOCS_ICONS whitelist that imports only the
icons that are actually referenced (BookOpen, ClipboardCheck, Compass,
Container, Download, FlaskConical, Heart, Unplug, Wrench).
To add a new docs icon: import it from lucide-react and add it to the
DOCS_ICONS record. The icon() callback remains the same for callers.
2026-04-29 12:34:13 +08:00
Rohan Verma
61f4d05cd1
Merge pull request #1318 from AnishSarkar22/fix/linux-build
...
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(electron-builder): add RPM target to the build configuration
2026-04-28 04:41:41 -07:00
Rohan Verma
46544f9578
Merge pull request #1316 from jimmyzhuu/codex/add-baidu-search-docs-dev
...
docs: add Baidu Search connector setup guide
2026-04-28 04:39:10 -07:00
Anish Sarkar
c9eb0be457
feat(electron-builder): add RPM target to the build configuration
2026-04-28 14:55:38 +05:30
jimmyzhuu
e1acb7e7c3
docs: add Baidu Search connector guide
2026-04-28 10:11:07 +08:00
Rohan Verma
78f71c7e3a
Merge pull request #1315 from CREDO23/feature/multimodal-desktop-screen-capture
...
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
Obsidian Plugin Lint / lint (push) Has been cancelled
[Feat] Desktop Screenshot Assist and screen capture
2026-04-27 16:06:58 -07:00
CREDO23
2d962f6dd2
Merge upstream/dev
2026-04-27 22:44:40 +02:00
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
CREDO23
d4caae6de9
Move desktop screen capture into modules/screen-capture and align preload build paths and imports.
2026-04-27 20:39:03 +02:00
CREDO23
9cd4daa6b3
Add a single-session desktop window picker and route screenshot assist, region crop, and fullscreen capture through the cached frame.
2026-04-27 20:35:47 +02:00
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
CREDO23
8b542ca3dd
Deduplicate user-turn images by full base64 data and update desktop permissions copy for Screenshot Assist.
2026-04-27 19:25:39 +02:00
CREDO23
a07c44f496
Send edited user images and full message content in chat regenerate while leaving reload on server-resolved turns.
2026-04-27 19:25:26 +02:00
CREDO23
056870464a
Accept optional user_images on regenerate and apply them when resolving the model turn.
2026-04-27 19:25:20 +02:00
Anish Sarkar
3fa8c790f5
feat(filesystem): add move and list_tree functionalities to enhance local folder operations
2026-04-27 22:32:37 +05:30
CREDO23
9f5b6205e1
Align macOS accessibility and screen capture usage strings with Screenshot Assist and chat.
2026-04-27 18:50:01 +02:00
CREDO23
36d891d413
Update READMEs in all languages to describe Screenshot Assist instead of Extreme Assist.
2026-04-27 18:49:54 +02:00
CREDO23
d184fd796a
Rename homepage tutorial media to screenshot assist and point the hero tab at the new asset.
2026-04-27 18:49:50 +02:00
CREDO23
d310663993
Wire Electron chat thread to screen capture events and full-screen capture from the composer.
2026-04-27 18:49:43 +02:00
CREDO23
97488218db
Expose Screenshot Assist in desktop login and settings with shared shortcut defaults.
2026-04-27 18:49:40 +02:00
CREDO23
df952ffa28
Add Screenshot Assist to stored shortcuts, default to Shift+Space, and migrate legacy autocomplete.
2026-04-27 18:49:36 +02:00
CREDO23
1c7362d9c6
Handle full-screen capture IPC and reregister Screenshot Assist when its shortcut changes.
2026-04-27 18:49:33 +02:00
CREDO23
f489fee2e8
Register General Assist and Screenshot Assist as two independent global shortcuts.
2026-04-27 18:49:30 +02:00
CREDO23
24a5a06f21
Make General Assist only focus the main window, without region capture.
2026-04-27 18:49:27 +02:00
CREDO23
7145a15149
Add Screenshot Assist shortcut flow: show window, pick region, send data URL to chat.
2026-04-27 18:49:24 +02:00
CREDO23
d212422bf5
Add full-screen display capture alongside the region picker for desktop chat.
2026-04-27 18:49:20 +02:00
CREDO23
62b9e328b4
Add desktop IPC, preload, and window types for chat screen capture and full-screen capture.
2026-04-27 18:49:15 +02:00
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