Commit graph

4990 commits

Author SHA1 Message Date
Anish Sarkar
706d5b9821 feat: enhance PDF viewer and report panel with public access handling and UI updates 2026-04-16 22:53:17 +05:30
Anish Sarkar
e2cd0557a5 feat: add public report PDF preview endpoint and update report content handling for Typst-based resumes 2026-04-16 22:51:36 +05:30
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
Rohan Verma
ba2a2fd529
Merge pull request #1236 from MODSetter/dev
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: update anonymous chat cookie settings for cross-site compatibility
2026-04-16 02:39:27 -07:00
DESKTOP-RTLN3BA\$punk
4e68565a72 Merge commit '7d6c7c4623' into dev
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-16 02:38:14 -07:00
DESKTOP-RTLN3BA\$punk
afae2c5f69 feat: update anonymous chat cookie settings for cross-site compatibility
- Implemented dynamic SameSite and Secure cookie settings based on the backend URL context.
- Enhanced cookie handling to ensure proper functionality in cross-domain scenarios.
2026-04-16 02:36:36 -07:00
Rohan Verma
7d6c7c4623
Merge pull request #1235 from MODSetter/dev
try: ip fix for cloudflare
2026-04-16 02:19:29 -07:00
DESKTOP-RTLN3BA\$punk
2cb30c604d try: ip fix for cludflare
- Introduced AI File Sorting functionality to automatically organize documents into a smart folder hierarchy based on source, date, and topic.
- Updated README.md to include the new feature.
- Enhanced homepage components with new illustrations and descriptions for AI File Sorting.
- Refactored rate limiting logic to extract real client IPs more accurately.
2026-04-16 02:13:52 -07:00
Rohan Verma
99995c67b2
Merge pull request #1234 from MODSetter/dev
feat: release 0.0.16
2026-04-16 01:36:25 -07:00
DESKTOP-RTLN3BA\$punk
635bf8ba96 fix: update LlamaCloud test assertions to reflect new parse modes
- Changed assertions in `test_llamacloud_basic_uses_cost_effective_tier` to check for `parse_page_with_llm` instead of `cost_effective` tier.
- Updated `test_llamacloud_premium_uses_agentic_plus_tier` to verify `parse_page_with_agent` instead of `agentic_plus` tier.
- Ensured that `tier` is no longer included in the call arguments.
2026-04-16 01:32:42 -07:00
DESKTOP-RTLN3BA\$punk
e7fba022c1 chore: bumped version to 0.0.16 2026-04-16 01:18:03 -07:00
DESKTOP-RTLN3BA\$punk
0e4285095c fix: llamaclud v2 impl 2026-04-16 01:15:47 -07:00
DESKTOP-RTLN3BA\$punk
2f793e7a69 refactor: improve content extraction and encoding handling
- Enhanced Azure Document Intelligence parser to raise an error for empty or whitespace-only content.
- Updated LLMRouterService to log premium model strings more clearly.
- Added automatic encoding detection for file reading in document processors.
- Improved error handling for empty markdown content extraction in file processors.
- Refactored DocumentUploadTab component for better accessibility and user interaction.
2026-04-16 00:25:46 -07:00
DESKTOP-RTLN3BA\$punk
4a51ccdc2c cloud: added openrouter integration with global configs 2026-04-15 23:46:29 -07:00
Anish Sarkar
6037058a09 refactor: enhance PDF thumbnail loading and error handling in resume component, introducing skeleton loader and improved state management 2026-04-16 11:45:33 +05:30
Anish Sarkar
df88fcd0fb refactor: streamline PDF handling in viewer and resume components by replacing react-pdf with pdfjs-dist, enhancing loading states and error management 2026-04-16 11:23:13 +05:30
Anish Sarkar
6e7f832181 chore: remove react-pdf dependency and add pdfjs-dist for PDF handling 2026-04-16 11:10:35 +05:30
Anish Sarkar
d5a1f4ac01 fix: improve user information requirements and template handling in resume generation tool 2026-04-16 10:29:13 +05:30
Matt Van Horn
008c464660
fix: clear scroll-to-citation timers on panel close/unmount
Store setTimeout IDs in a ref and clear them when the source detail
panel closes or unmounts, preventing state updates on unmounted
components.

Fixes #1092
2026-04-15 22:00:56 -04: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
Rohan Verma
87452bb315
Merge pull request #1232 from xr843/fix/clear-announcement-toast-stagger-timers
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
fix(web): clear announcement stagger timers on unmount
2026-04-15 10:47:43 -07:00
Rohan Verma
5bbb7b98cc
Merge pull request #1230 from xr843/fix/memoize-zero-provider-opts
fix(web): memoize Zero provider opts to prevent reconnect churn
2026-04-15 10:46:57 -07:00
Rohan Verma
5b8fdff6b6
Merge pull request #1229 from xr843/fix/remove-react-dom-server
fix(web): drop react-dom/server from inline-mention-editor bundle
2026-04-15 10:46:19 -07:00
Rohan Verma
97984e1e13
Merge pull request #1228 from tmchow/osc/1190-extract-type-icons
refactor: extract duplicate TYPE_ICONS constant into shared module
2026-04-15 10:45:36 -07:00
Anish Sarkar
2f58b14440 fix: enhance error handling and loading states in report panel and resume generation components 2026-04-15 23:08:19 +05:30
Anish Sarkar
e3d9ab1263 fix: update example user information in resume generation tool prompts for consistency 2026-04-15 22:00:46 +05:30
Anish Sarkar
4d577a20a9 refactor: update PDF viewer and report card components for improved accessibility and UI consistency 2026-04-15 21:56:18 +05:30
Anish Sarkar
45752a7e73 feat: add GenerateResumeToolUI component for managing resume generation states and display 2026-04-15 21:43:00 +05:30
Anish Sarkar
06c344d66e feat: implement PDF viewer for resume previews and integrate with report panel 2026-04-15 21:42:50 +05:30
Anish Sarkar
07bd076317 feat: add content type support for reports and include new resume generation tool in dashboard 2026-04-15 21:13:56 +05:30
Anish Sarkar
45eef24dbf feat: implement resume generation tool with Typst output and validation 2026-04-15 21:12:08 +05:30
Anish Sarkar
ccf010175d feat: enhance report content schema and add resume generation output handling 2026-04-15 21:11:58 +05:30
Anish Sarkar
39aaf92f0e feat: add PDF preview and export functionality for Typst-based reports, enhance report content handling 2026-04-15 21:11:27 +05:30
Anish Sarkar
aac65e122e feat: add resume generation tool and update system prompts 2026-04-15 21:08:08 +05:30
Anish Sarkar
586199ae17 feat: add content_type column to reports and seed default prompt for resume generation 2026-04-15 20:40:40 +05:30
Anish Sarkar
15aacf1a80 feat: add react-pdf dependency and update pnpm-lock.yaml 2026-04-15 20:39:03 +05:30
Tim Ren
c03a1e177a fix(web): clear announcement stagger timers on unmount
The cleanup for the announcement-toast effect only cleared the outer
1500ms timer, leaving the per-announcement stagger timers (i * 800ms)
untracked. If the root layout unmounts during the stagger window, those
timers fire after cleanup and attempt to toast against a dead tree.

Track the inner timer ids in an array and clear them alongside the outer
timer in the effect cleanup.

Fixes #1094.
2026-04-15 20:07:20 +08:00
Tim Ren
68e6acd504 fix(web): memoize Zero provider opts to prevent reconnect churn
Wrap the opts object and derived context in useMemo so ZeroReactProvider
receives stable references across parent re-renders. Before this change
opts was rebuilt on every render of ZeroProvider, which can cause the
Rocicorp Zero client to churn its internal state / reconnect if it
compares props by reference.

Fixes #1097.
2026-04-15 20:07:12 +08:00
Tim Ren
2727aebcc6 fix(web): drop react-dom/server from inline-mention-editor bundle
Replace ReactDOMServer.renderToString with a tiny createRoot + flushSync
helper so react-dom/server is no longer pulled into the client bundle on
every chat page load. react-dom is already in the bundle (React itself
uses it), so this adds zero new runtime weight.

Fixes #1189.
2026-04-15 20:01:16 +08:00
Trevin Chow
95130d894c refactor: extract shared TYPE_ICONS into dedicated module
Move the duplicated TYPE_ICONS record from citation.tsx and
citation-list.tsx into a new type-icons.ts module so the mapping lives
in one place and both components import from the same source.

Resolves #1190
2026-04-14 23:22:29 -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
Rohan Verma
b659f41bab
Merge pull request #1225 from oscarzhou511/feat/obsidian-connector-visibility
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: improve Obsidian connector visibility and desktop sync flow
2026-04-14 13:10:57 -07:00
Rohan Verma
ae0df70880
Merge pull request #1224 from AnishSarkar22/feat/token-calculation
feat: track and display per-message LLM token usage & UI/UX changes
2026-04-14 13:10:05 -07:00
Anish Sarkar
9fc0976d5e chore: ran linting 2026-04-14 21:52:26 +05:30
Anish Sarkar
a74ed014cc refactor: update UI components for better accessibility and styling consistency 2026-04-14 21:50:34 +05:30
Anish Sarkar
2021f6c4b7 refactor: simplify AI sort button implementation and improve styling 2026-04-14 21:39:11 +05:30
Anish Sarkar
1714922830 refactor: improve password input layout and enhance chat thread title update logic 2026-04-14 21:13:01 +05:30
Anish Sarkar
f01ddf3f0a feat: implement token usage recording in chat routes and enhance title generation handling 2026-04-14 20:56:07 +05:30
Anish Sarkar
292fcb1a2c feat: enhance model selector UI abd added github models icon 2026-04-14 20:35:16 +05:30