Commit graph

108 commits

Author SHA1 Message Date
Anish Sarkar
c580addc04 refactor: enhance Google login functionality and button styles across multiple components 2026-05-18 01:17:37 +05:30
Anish Sarkar
f65bc81509 Merge remote-tracking branch 'upstream/dev' into feat/ui-revamp 2026-05-16 19:26:36 +05:30
DESKTOP-RTLN3BA\$punk
c187b04e82 chore: linting 2026-05-15 17:33:44 -07:00
DESKTOP-RTLN3BA\$punk
219a5977b7 fix: update URLs to use the "www" subdomain across the application
This commit modifies various metadata and canonical URLs in the SurfSense application to ensure consistency by using "https://www.surfsense.com" instead of "https://surfsense.com". Changes were made in layout files, blog posts, and SEO components to reflect this update.
2026-05-15 12:35:15 -07:00
DESKTOP-RTLN3BA\$punk
52a64fb96c feat: added blog posts 2026-05-15 11:55:30 -07:00
Anish Sarkar
198c38b335 refactor: replace button elements with Button component for consistent styling across various UI components 2026-05-14 13:30:20 +05:30
Anish Sarkar
481bb406b6 Merge remote-tracking branch 'upstream/dev' into feat/ui-revamp 2026-05-13 03:02:23 +05:30
너이름
fb0c13911d fix(auth): centralize redirect path storage 2026-05-11 06:30:26 +09:00
Anish Sarkar
4e8c552440 Merge remote-tracking branch 'upstream/dev' into feat/ui-revamp 2026-05-03 18:58:55 +05:30
Anish Sarkar
a9192beae3 feat(announcements): rename "Announcements" to "What's New" across the application; add AnnouncementsDialog component for displaying updates; update empty state messaging; remove unused AnnouncementsSidebar component. 2026-05-03 18:42:29 +05:30
DESKTOP-RTLN3BA\$punk
c938d39277 feat: moved most things behind correct feature flag 2026-05-02 23:10:48 -07:00
DESKTOP-RTLN3BA\$punk
ae9d36d77f feat: unified credits and its cost calculations 2026-05-02 14:34:23 -07:00
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
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
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
DESKTOP-RTLN3BA\$punk
e06c8419b1 feat: update SEO titles and descriptions for improved clarity and focus
- Revised metadata titles and descriptions across multiple pages to better reflect the open-source and privacy-focused nature of SurfSense.
- Enhanced user engagement by simplifying titles for the free AI chat feature and individual model pages.
2026-04-21 01:33:58 -07:00
Rohan Verma
c3b9d419ba
Merge pull request #1238 from xr843/ux/form-max-length
feat: add maxLength constraints to auth and settings form inputs
2026-04-16 15:51:43 -07:00
xianren
b8e663e8f4 feat: add maxLength constraints to auth and settings form inputs
Gives users immediate client-side feedback and prevents pathologically
long values from being typed. Caps match Zod schema limits where they
exist; email uses the RFC 5321 maximum.

Files touched (5):
- (home)/login/LocalLoginForm.tsx — email → 254
- (home)/register/page.tsx — email → 254
- dashboard/.../user-settings/.../ProfileContent.tsx — display name → 100
- components/settings/general-settings-manager.tsx — search space name → 100
- components/settings/roles-manager.tsx — role name (create+edit dialogs) → 100,
  role description (create+edit dialogs) → 500

Closes #948
2026-04-16 22:33:01 +08:00
xianren
3f85f2a56b fix(a11y): remove nested <main> landmarks under (home) layout
The (home)/layout.tsx already wraps children in <main>. Having another
<main> inside each child page produces nested landmarks, which is
invalid HTML and confuses screen readers.

Changed the outermost wrapper from <main> → <div> in:
- surfsense_web/app/(home)/page.tsx (homepage)
- surfsense_web/app/(home)/free/page.tsx (free AI chat landing)

Other (home) descendants (login/register/privacy/terms/changelog/
announcements/blog/contact/free/[model_slug]) were already using <div>.

Closes #1191
2026-04-16 22:30:55 +08:00
DESKTOP-RTLN3BA\$punk
4a51ccdc2c cloud: added openrouter integration with global configs 2026-04-15 23:46:29 -07:00
DESKTOP-RTLN3BA\$punk
ff4e0f9b62 feat: no login experience and prem tokens
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
2026-04-15 17:02:00 -07:00
DESKTOP-RTLN3BA\$punk
656e061f84 feat: add processing mode support for document uploads and ETL pipeline, improded error handling ux
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
- Introduced a `ProcessingMode` enum to differentiate between basic and premium processing modes.
- Updated `EtlRequest` to include a `processing_mode` field, defaulting to basic.
- Enhanced ETL pipeline services to utilize the selected processing mode for Azure Document Intelligence and LlamaCloud parsing.
- Modified various routes and services to handle processing mode, affecting document upload and indexing tasks.
- Improved error handling and logging to include processing mode details.
- Added tests to validate processing mode functionality and its impact on ETL operations.
2026-04-14 21:26:00 -07:00
Anish Sarkar
1714922830 refactor: improve password input layout and enhance chat thread title update logic 2026-04-14 21:13:01 +05:30
DESKTOP-RTLN3BA\$punk
7ea840dbb2 feat: enhance SurfSense with new skills, blog section, and improve SEO metadata
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
- Added multiple new skills to skills-lock.json from the repository `aaron-he-zhu/seo-geo-claude-skills`.
- Introduced `fuzzy-search` dependency in package.json for improved search functionality.
- Updated pnpm-lock.yaml to include the new `fuzzy-search` package.
- Enhanced SEO metadata across various pages, including canonical links and descriptions for better search visibility.
- Improved layout and structure of several components, including the homepage and changelog, to enhance user experience.
2026-04-11 23:38:12 -07:00
Anish Sarkar
56c5809170 chore: ran linting 2026-04-08 18:23:03 +05:30
Rohan Verma
35c155387b
Merge pull request #1167 from SohamBhattacharjee2003/fix/add-autocomplete-attributes
Fix/add autocomplete attributes
2026-04-07 23:36:56 -07:00
Rohan Verma
cf2115bc90
Merge pull request #1166 from SohamBhattacharjee2003/fix/remove-unnecessary-use-client-directives
fix: remove unnecessary use client directives
2026-04-07 23:36:33 -07:00
DESKTOP-RTLN3BA\$punk
1a6251eaaa feat: add desktop app section to README files
- Introduced a new section in the README files for the Desktop App, highlighting its features: General Assist, Quick Assist, and Extreme Assist.
- Updated all language-specific README files to include details about the desktop app's capabilities and download instructions.
2026-04-07 16:56:08 -07:00
Soham Bhattacharjee
8025c5bcda
Merge branch 'dev' into fix/add-autocomplete-attributes 2026-04-08 04:59:52 +05:30
SohamBhattacharjee2003
36391acfd0 fix: add autoComplete attributes to form inputs for better UX
- Add autoComplete="username" and "current-password" to login form
- Add autoComplete="email" and "new-password" to register form inputs
- Add autoComplete="name" to profile display name input
- Add autoComplete="off" to connector search input
- Enables browser password managers and autofill functionality
2026-04-08 04:58:14 +05:30
Soham Bhattacharjee
e11b67e6eb
Merge branch 'dev' into fix/remove-unnecessary-use-client-directives 2026-04-08 04:42:49 +05:30
SohamBhattacharjee2003
baada1457a fix: replace window.location with Next.js router for client-side navigation
- Replace window.location.href with router.push() + router.refresh() in UserDropdown logout
- Replace window.location.href with router.push() in CreateSearchSpaceDialog
- Replace window.location.reload() with router.refresh() in login page retry action
- Prevents full page reloads and preserves React state during in-app navigation
2026-04-08 04:28:41 +05:30
Rohan Verma
92d75ad622
Merge pull request #1118 from SohamBhattacharjee2003/fix/logo-lcp-priority
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
fix: logo lcp priority
2026-04-03 08:16:38 -07:00
SohamBhattacharjee2003
414c4c86e9 fix: add priority prop to Logo component for LCP optimization on auth pages
- 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
2026-04-03 18:32:13 +05:30
Anish Sarkar
746c730b2e chore: ran linting 2026-04-03 13:14:40 +05:30
Anish Sarkar
62b44889d1 Merge remote-tracking branch 'upstream/dev' into feat/local-folder-sync 2026-04-03 11:42:43 +05:30
Anish Sarkar
33e7aeef9d style: enhance input field focus styles and transition effects in login and registration forms 2026-04-01 21:00:52 +05:30
Jun Hyeok Lee
a42d4d219b fix: avoid mutating shared arrays in changelog and comments sync 2026-04-01 23:03:52 +09:00
DESKTOP-RTLN3BA\$punk
17642493eb chore: linting 2026-03-31 14:45:46 -07:00
CREDO23
440762fb07 Merge upstream/dev 2026-03-31 20:21:12 +02:00
CREDO23
aecb58e22b Fix review issues: authz, race conditions, UX safety, and consolidate migrations 2026-03-31 19:09:05 +02:00
CREDO23
0b0806a1be redirect authenticated users to dashboard from landing, login, and register pages 2026-03-30 21:22:54 +02:00
CREDO23
4e800c8824 Revert "redirect authenticated users from landing, login, and register to dashboard"
This reverts commit c3bd035e6d.
2026-03-30 21:10:43 +02:00
CREDO23
c3bd035e6d redirect authenticated users from landing, login, and register to dashboard 2026-03-30 21:02:03 +02:00
JoeMakuta
71db2f8c38 style: update LocalLoginForm styles with theme colors ref from global.css 2026-03-29 17:27:09 +02:00
JoeMakuta
0e1ddbd0d3 Order imports 2026-03-27 15:00:17 +02:00
JoeMakuta
d85cb1d78f Arrange code style 2026-03-27 14:57:44 +02:00
JoeMakuta
a26bae2702 feat: add metadata to changelog, contact, and pricing pages 2026-03-27 14:44:40 +02:00
Rohan Verma
a913e616e6
Merge pull request #974 from LikiosSedo/fix/remove-authtype-useeffect
fix: remove unnecessary useEffect + useState for AUTH_TYPE constant
2026-03-25 12:55:46 -07:00