Commit graph

5256 commits

Author SHA1 Message Date
Rohan Verma
afb4b09cde
Merge pull request #1322 from guangyang1206/perf/blog-search-derive-results-usememo
Some checks are pending
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
perf(blog): derive search results with useMemo instead of useState+us…
2026-04-29 00:08:49 -07:00
Rohan Verma
cc6da08346
Merge pull request #1321 from guangyang1206/perf/lucide-explicit-icons-whitelist
perf(docs): replace full lucide barrel import with explicit icon whit…
2026-04-29 00:08:27 -07:00
Rohan Verma
619e4b5639
Merge pull request #1320 from guangyang1206/feat/loading-skeletons-async-routes-1243
feat(perf): add loading.tsx skeletons for async marketing routes
2026-04-29 00:07:59 -07:00
Rohan Verma
95200e444f
Merge pull request #1319 from AnishSarkar22/fix/ui-mention-documents
fix: enhance mention documents
2026-04-29 00:07:05 -07:00
Rohan Verma
27d990d5e8
Merge pull request #1323 from MODSetter/dev_mod
feat: updated agent harness
2026-04-28 23:59:57 -07:00
DESKTOP-RTLN3BA\$punk
f9b5367754 chore: cleaned comments slop 2026-04-28 23:52:37 -07:00
DESKTOP-RTLN3BA\$punk
f23be16b35 refactor: citation viewer 2026-04-28 23:25:26 -07:00
DESKTOP-RTLN3BA\$punk
ca9bbee06d chore: linting 2026-04-28 21:37:51 -07:00
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
guangyang1206
dcafa364ff feat(perf): add loading.tsx skeletons for async marketing routes
Fixes #1243

Add sibling loading.tsx files for all 6 async route segments that were
missing instant loading UI, causing blank screens during navigation on
slow networks or cold caches.

Routes covered:
- /docs/[[...slug]]   — awaits getDocPage + MDX body
- /blog               — awaits source.getPages()
- /blog/[slug]        — awaits params + MDX body
- /changelog          — awaits source.getPages()
- /free               — awaits getModels() fetch
- /free/[model_slug]  — awaits Promise.all([getModel, getAllModels])

Each loading.tsx is a Server Component returning an animate-pulse
skeleton that matches its route's layout (header, content area,
grid/table/timeline as appropriate). Uses the Skeleton component and
Tailwind classes already present in the project.

Follows the pattern established in:
- app/dashboard/[search_space_id]/logs/loading.tsx
- app/dashboard/[search_space_id]/new-chat/loading.tsx
2026-04-29 12:34:13 +08:00
yeranyang
4845b96209 perf(blog): derive search results with useMemo instead of useState+useEffect
Fixes #1246

Replace the useState/useEffect pattern that synced fuzzy search results
into local state on every search or searcher change with a single useMemo
that derives results directly during render.

Before:
  const [results, setResults] = useState(allBlogs);
  useEffect(() => {
    setResults(searcher.search(search));
  }, [search, searcher]);

After:
  const gridItems = useMemo(() => {
    const results = search.trim() ? searcher.search(search) : allBlogs;
    ...
  }, [search, searcher, allBlogs, featuredSlug]);

This removes an extra re-render per keystroke and eliminates the stale
intermediate state that occurred between the search input change and the
effect firing.
2026-04-29 12:34:12 +08:00
DESKTOP-RTLN3BA\$punk
b9a66cb417 feat: various UI fixes, prompt optimizations, and allowing duplicate docs
- Updated `content_hash` in the `Document` model to remove global uniqueness, allowing identical content across different paths.
- Enhanced `_create_document` function to handle path uniqueness and prevent session-poisoning from `IntegrityError`.
- Added detailed comments for clarity on the changes and their implications.
- Introduced new citation handling in the editor for improved user experience with citation jumps.
- Updated package dependencies in the frontend for better functionality.
2026-04-28 21:30:53 -07:00
Anish Sarkar
e61b410805 Merge remote-tracking branch 'upstream/dev' into fix/ui-mention-documents 2026-04-29 04:29:10 +05:30
Anish Sarkar
8be7f2e05c refactor(mentions): update document mention handling to use document keys for consistency across components 2026-04-29 04:19:07 +05:30
Anish Sarkar
76c91adebc refactor(mentions): replace sidebarSelectedDocumentsAtom with mentionedDocumentsAtom and introduce getMentionDocKey utility for consistent document key generation 2026-04-29 04:12:42 +05:30
DESKTOP-RTLN3BA\$punk
e6433f78c4 Merge commit '61f4d05cd1' into dev_mod 2026-04-28 09:25:41 -07:00
DESKTOP-RTLN3BA\$punk
82fe7fd1f3 Merge commit '16587ec789' into dev_mod 2026-04-28 09:23:31 -07:00
DESKTOP-RTLN3BA\$punk
31a372bb84 feat: updated agent harness 2026-04-28 09:22:19 -07:00
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
DESKTOP-RTLN3BA\$punk
9ec9b64348 feat(chat_deepagent): optimize agent creation by offloading middleware stack compilation to a separate thread 2026-04-28 05:03:52 -07:00
Rohan Verma
61f4d05cd1
Merge pull request #1318 from AnishSarkar22/fix/linux-build
Some checks are pending
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
DESKTOP-RTLN3BA\$punk
05ca4c0b9f feat: updated file management for main agent 2026-04-28 04:32:52 -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
Some checks failed
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
DESKTOP-RTLN3BA\$punk
8d50f90060 chore: linting
Some checks failed
Obsidian Plugin Lint / lint (push) Has been cancelled
2026-04-27 14:04:50 -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