Anish Sarkar
8b4f136668
refactor(chat): enhance UserMessage component with mention parsing and segment rendering for improved message display
2026-05-01 04:02:24 +05:30
Rohan Verma
e5b2ac7918
Merge pull request #1324 from guangyang1206/feat/key-prop-llm-role-manager-1018
...
refactor(settings): use key prop to reset LLM role manager form state
2026-04-30 15:19:00 -07:00
Rohan Verma
f129207c50
Merge pull request #1325 from AnishSarkar22/feat/split-auto-free-premium
...
feat(chat): thread-level auto model pinning & structured chat errors
2026-04-30 15:18:26 -07:00
Anish Sarkar
511f4fde64
refactor(chat): update ChatViewport className for improved scroll behavior consistency
2026-05-01 03:40:14 +05:30
Anish Sarkar
7b549f8444
refactor(chat): enhance ChatViewport with auto-scroll and top fade effect for improved user experience
2026-05-01 03:38:21 +05:30
DESKTOP-RTLN3BA\$punk
b2f487bf36
feat: added mac signing & notarization for desktop app
2026-04-30 15:03:10 -07:00
Anish Sarkar
833b4dd441
refactor(chat): simplify ChatViewport and footer structure for improved readability and maintainability
2026-05-01 03:10:21 +05:30
Anish Sarkar
a66c1576b9
refactor(chat): introduce ChatViewport and NestedScroll components for improved chat UI structure and functionality
2026-05-01 03:09:53 +05:30
Anish Sarkar
af66fbf106
refactor(chat): implement turn cancellation and status management in new chat routes for improved user experience and error handling
2026-05-01 01:47:52 +05:30
Anish Sarkar
4056bd1d69
refactor(chat): update resetCurrentThreadAtom to include shareToken and contentType for enhanced report panel state management
2026-04-30 22:37:11 +05:30
Anish Sarkar
d65a3fdf76
refactor(chat): implement new error handling utilities and streamline interrupt request processing in NewChatPage for improved performance and maintainability
2026-04-30 18:22:34 +05:30
Anish Sarkar
86f6b285ce
refactor(chat): introduce new stream handling utilities and restructure event processing for improved performance and maintainability
2026-04-30 18:09:34 +05:30
Anish Sarkar
6465ea181a
refactor(chat): streamline NewChatPage component by removing unused functions and integrating new stream handling utilities for improved performance
2026-04-30 18:09:18 +05:30
Anish Sarkar
1d6d7e3eb1
refactor(chat): remove unused agent action handlers from NewChatPage component to streamline code and improve maintainability
2026-04-30 16:33:13 +05:30
Anish Sarkar
872065f90d
Merge remote-tracking branch 'upstream/dev' into feat/split-auto-free-premium
2026-04-30 16:23:05 +05:30
Anish Sarkar
2a01711bc9
feat(chat): expand error handling for chat operations by introducing a passthrough code set, improving response management and user feedback
2026-04-30 16:20:14 +05:30
Anish Sarkar
1ce122cc99
feat(database): change alembic number and add idempotency
2026-04-30 16:05:58 +05:30
Anish Sarkar
ba2a08b295
Merge remote-tracking branch 'upstream/dev' into feat/split-auto-free-premium
2026-04-30 15:45:11 +05:30
DESKTOP-RTLN3BA\$punk
e651c41372
feat: enhance tool input streaming and agent action handling for improved chat experience
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
2026-04-30 03:13:58 -07:00
Anish Sarkar
f60e742fac
feat(chat): implement pre-accept failure handling and unified retry messaging for chat operations, enhancing user experience and error management
2026-04-30 14:58:56 +05:30
Anish Sarkar
35ea0eae53
feat(chat): enhance error classification and handling for thread busy scenarios, improving user feedback and response management
2026-04-30 14:03:09 +05:30
Anish Sarkar
fd4d0817d1
feat(chat): implement comprehensive error handling for chat operations, including detailed response parsing and improved user message persistence
2026-04-30 12:38:11 +05:30
Anish Sarkar
d64543686f
feat(chat): unify error handling and logging for chat operations, enhancing clarity and consistency in error reporting
2026-04-30 11:56:41 +05:30
Anish Sarkar
222b27183f
feat(chat): improve error handling and logging for premium quota exhaustion in chat operations
2026-04-29 22:01:28 +05:30
Anish Sarkar
e6db050dfd
feat(chat): add userId to premium alert handling and improve alert visibility in UI
2026-04-29 21:58:17 +05:30
Anish Sarkar
901de33684
feat(chat): enhance error formatting to include optional error codes for better frontend handling
2026-04-29 21:05:21 +05:30
Anish Sarkar
fa6a09197e
feat(chat): enhance error handling for premium quota exhaustion in chat messages
2026-04-29 20:57:33 +05:30
DESKTOP-RTLN3BA\$punk
a688895115
feat: increase recursion limit for chat streaming to enhance tool iteration capabilities
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
2026-04-29 08:03:39 -07:00
Anish Sarkar
d66fa1559b
feat(chat): implement forced repin to free tier for pinned LLM configurations
2026-04-29 20:29:41 +05:30
Anish Sarkar
c598d7038f
refactor(chat): update premium token error messages for clarity and consistency
2026-04-29 20:17:45 +05:30
DESKTOP-RTLN3BA\$punk
9a114a2d45
feat: enhance tool display names for better user experience in chat UI
2026-04-29 07:40:11 -07:00
DESKTOP-RTLN3BA\$punk
c110f5b955
feat: improved agent streaming
2026-04-29 07:20:31 -07:00
Anish Sarkar
d5ef0d2598
feat(ui): surface pinned premium quota alerts in chat thread
2026-04-29 19:15:46 +05:30
Anish Sarkar
835bd9f65d
fix(chat): enforce pinned model quota flow and reset stale pins
2026-04-29 19:15:36 +05:30
Anish Sarkar
41849fe10f
feat(chat): add auto model pin resolution service
2026-04-29 19:15:15 +05:30
Anish Sarkar
57db198919
feat(chat): add thread-level auto model pinning fields
2026-04-29 19:14:56 +05:30
Rohan Verma
afb4b09cde
Merge pull request #1322 from guangyang1206/perf/blog-search-derive-results-usememo
...
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
guangyang1206
345cb88224
refactor(settings): use key prop to reset LLM role manager form state
...
Fixes #1018
Remove the sync useEffect that copied preferences into local state,
along with the savingRef guard that prevented mid-save overwrites.
Instead, pass key={searchSpaceId} on the LLMRoleManager component so
React remounts the form with correct initial state whenever the search
space changes — no extra re-render, no effect dependency array.
Changes:
- llm-role-manager.tsx: remove useEffect + useRef + savingRef pattern;
drop useEffect and useRef from imports (now only useCallback, useState)
- search-space-settings-dialog.tsx: add key={searchSpaceId} to
<LLMRoleManager> so the component remounts on search-space change
Before: useEffect synced preferences → assignments on each preference
update, with savingRef to avoid overwriting an in-flight save.
After: React remounts the component with correct initial state from
the preferences selector; no mid-save race possible.
2026-04-29 12:34:14 +08: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