- Add optional priority prop to Logo component (defaults to false)
- Set priority=true on login and register pages to preload logo
- Logo on other pages remains lazy-loaded by default
- Improves LCP on critical auth pages by eliminating lazy-load delay
- Replace raw <img> with Next.js Image in markdown-viewer.tsx
- Use next/image with fill + sizes in assistant-ui image.tsx
- Optimize favicons with explicit dimensions in citation components
- Set unoptimized=true for data/blob URLs and external favicons
Store the progress setInterval ID in a ref and clear it in a
useEffect cleanup. Previously the interval was stored in a local
variable and only cleared in onSuccess/onError callbacks, leaking
if the component unmounted mid-upload.
Fixes#1090
Fix two timer cleanup bugs in onboarding-tour.tsx:
1. Remove cleanup return from useCallback (only works in useEffect).
Clear retryTimerRef at the start of updateTarget and in a
dedicated useEffect cleanup instead.
2. Track recursive setTimeout calls via startCheckTimerRef so they
are properly cancelled on unmount instead of leaking.
Fixes#1091
Wrap scroll handlers in thread.tsx, InboxSidebar.tsx, and
DocumentsTableShell.tsx with requestAnimationFrame batching so scroll
position state updates fire at most once per animation frame instead of
on every scroll event (up to 60/sec at 60fps). Add cleanup useEffect to
cancel pending frames on unmount.
Fixes#1103
- Updated migration instructions to emphasize the importance of stopping zero-cache before and after running the migration.
- Added a function to terminate blocked PIDs that could interfere with the migration.
- Set a lock timeout to prevent deadlocks during the migration process.
- Updated migration instructions to emphasize the importance of stopping zero-cache before and after running the migration.
- Added a function to terminate blocked PIDs that could interfere with the migration.
- Set a lock timeout to prevent deadlocks during the migration process.
- Expanded sections detailing limitations of NotebookLM.
- Added comparison table between SurfSense and Google NotebookLM.
- Enhanced descriptions of SurfSense features and capabilities.
- Updated example links and images for better clarity and relevance.
- Updated maximum file size limit to 500 MB per file.
- Removed restrictions on the number of files per upload and total upload size.
- Enhanced handling of user-mentioning documents in the knowledge base search middleware.
- Improved document reading and processing logic to accommodate new features and optimizations.