Commit graph

1958 commits

Author SHA1 Message Date
Anish Sarkar
3f203f8c49 feat(editor): implement auto-save functionality and manual save command in SourceCodeEditor 2026-04-23 18:29:32 +05:30
Anish Sarkar
d397fec54f feat(editor): add SourceCodeEditor component for enhanced code editing experience 2026-04-23 18:21:50 +05:30
Anish Sarkar
bbc1c76c0d feat(editor): integrate Monaco Editor for local file editing and enhance language inference 2026-04-23 18:00:51 +05:30
Anish Sarkar
864f6f798a feat(filesystem): enhance local file handling in editor and IPC integration 2026-04-23 17:23:38 +05:30
Trevin Chow
a2ddf47650 refactor(anon-chat): route upload through anonymousChatApiService
Fixes #1245. Deduplicate the anonymous-chat file upload request, which
was inlined verbatim in DocumentsSidebar.tsx and free-composer.tsx
while anonymousChatApiService.uploadDocument already existed.

Key change: service now returns a discriminated result instead of
throwing on 409. Callers need to distinguish 409 (quota exceeded, ->
gate to login) from other non-OK responses (real errors, -> throw).

  export type AnonUploadResult =
    | { ok: true; data: { filename: string; size_bytes: number } }
    | { ok: false; reason: "quota_exceeded" };

Both call sites now do:

  const result = await anonymousChatApiService.uploadDocument(file);
  if (!result.ok) {
    if (result.reason === "quota_exceeded") gate("upload more documents");
    return;
  }
  const data = result.data;

Dropped the BACKEND_URL import in both files (no longer used). Verified
zero remaining /api/v1/public/anon-chat/upload references in
surfsense_web/.
2026-04-23 03:26:42 -07:00
Anish Sarkar
4899588cd7 feat(web): connect new chat UI to agent filesystem APIs 2026-04-23 15:46:39 +05:30
CREDO23
1712f454f8 fix: add spinner loading state to MCP test connection button 2026-04-23 09:45:25 +02:00
CREDO23
2eb0ff9e5e feat: add reauthentication endpoints for Linear and JIRA connectors 2026-04-23 08:57:56 +02:00
CREDO23
9bb117ffa7 feat: skip edit view for live connectors, disconnect directly from accounts list 2026-04-23 08:51:31 +02:00
CREDO23
80a349ea11 feat: add disconnect functionality for connectors with confirmation prompt 2026-04-23 08:50:49 +02:00
CREDO23
e3172dc282 fix: reactive 401 recovery for live MCP connectors and unified reauth endpoints 2026-04-23 08:27:11 +02:00
CREDO23
16f47578d7 Enhance MCP tool trust functionality to support OAuth-backed connectors and improve error handling in the UI. Refactor API calls to use baseApiService for consistency. 2026-04-23 08:03:32 +02:00
Rohan Verma
7245ab4046
Merge pull request #1294 from CREDO23/feature/mcp-migration
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] Live connector tools via MCP OAuth and native APIs
2026-04-22 21:00:28 -07:00
CREDO23
b6c506abef fix: treat all Gmail/Calendar as live connectors, hide indexing UI 2026-04-22 22:51:28 +02:00
CREDO23
4915675f45 Merge upstream/dev into feature/mcp-migration 2026-04-22 19:53:26 +02:00
Anish Sarkar
336bd57c4d refactor: enhance button loading states and styling in editor and sidebar components 2026-04-22 23:06:49 +05:30
Anish Sarkar
6ac5256431 feat: implement background processing for binary attachments in Obsidian plugin
- Added a new Celery task for indexing non-markdown attachments.
- Enhanced the Obsidian plugin schema to support binary attachments.
- Updated routes to enqueue binary attachments for background processing.
- Improved metadata handling for binary attachments during indexing.
- Added tests for binary attachment processing and validation.
2026-04-22 23:00:34 +05:30
Anish Sarkar
144e513068 feat: implement resume page limit functionality 2026-04-22 18:46:17 +05:30
CREDO23
a4bc621c2a uniform connector UX across all connector types 2026-04-22 11:22:04 +02:00
CREDO23
dfa40b8801 fix MCP OAuth for all 5 services, add MCP connector edit view 2026-04-22 10:50:43 +02:00
DESKTOP-RTLN3BA\$punk
80d3f624d4 chore: linting 2026-04-22 01:05:31 -07:00
CREDO23
c277b6c121 skip indexing config dialog for non-indexable connectors 2026-04-22 09:01:35 +02:00
CREDO23
ea3508cb25 use native connector types for MCP OAuth, restore original UI 2026-04-22 08:57:28 +02:00
Anish Sarkar
3eb4d55ef5 chore: ran linting 2026-04-22 06:40:39 +05:30
Anish Sarkar
4a75603d4f feat: implement sync notifications for Obsidian plugin
- Added functionality to create and update notifications during the Obsidian sync process.
- Improved handling of sync completion and failure notifications.
- Updated connector naming convention in various locations for consistency.
2026-04-22 06:38:51 +05:30
Anish Sarkar
ae264290d0 feat: update Obsidian connector UI and improve user instructions 2026-04-22 06:07:38 +05:30
CREDO23
e676ebfabe remove live connectors from AUTO_INDEX_DEFAULTS 2026-04-21 21:52:54 +02:00
CREDO23
8b8c9b1f5d add Slack and Airtable MCP OAuth support 2026-04-21 21:38:24 +02:00
CREDO23
c414cc257f add frontend tiles for Linear, Jira, ClickUp MCP connectors 2026-04-21 21:20:54 +02:00
Anish Sarkar
22f8cb2cd3 feat: enhance obsidian connector doc and add notes for migration from legacy obsidian connector 2026-04-22 00:24:26 +05:30
Anish Sarkar
99623a85d5 refactor: remove legacy Obsidian connector support 2026-04-22 00:10:24 +05:30
CREDO23
c70f0ccf49 revert Notion auth URLs to classic OAuth endpoints 2026-04-21 20:34:08 +02:00
Matt Van Horn
7f0a5cd06a
fix(hitl-edit-panel): move duplicate-tag check into functional setTags
Fixes #1248

handleAddTag had tags in its useCallback dependency array only so the
closure-level duplicate check could read it, which forced the callback
to re-create on every tag mutation and compared new additions against
a potentially-stale closure value.

Collapse the duplicate check into the functional setTags updater so
the check always runs against the latest state, and drop tags from
the dependency array - the callback is stable for the component's
lifetime and downstream memoization won't get invalidated on every
keystroke.
2026-04-21 01:43:20 -07:00
Anish Sarkar
7e4601fde4 feat: add enable_vision_llm flag to connector dialog state and query parameters 2026-04-21 11:25:05 +05:30
Anish Sarkar
f06e00d77c Merge remote-tracking branch 'upstream/dev' into fix/docker-host-gateway 2026-04-21 11:24:34 +05:30
Anish Sarkar
1f524660e1 fix: update server URL in README and settings for SurfSense plugin 2026-04-21 10:53:55 +05:30
Rohan Verma
1919150523
Merge pull request #1276 from MODSetter/dev_mod
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: add startup for desktop app
2026-04-20 21:27:14 -07:00
Rohan Verma
f2bb6dbd55
Merge pull request #1275 from Tacite243/fix/move-modelSelector-reset-effects-into-the-openTab-event-handlers-1252
refactor: move model selector reset logic to event handlers
2026-04-20 21:01:42 -07:00
Rohan Verma
df8a12217c
Merge pull request #1273 from Tacite243/perf/lazy-load-document-content-1242
perf: lazy-load DocumentTabContent to reduce initial dashboard bundle…
2026-04-20 21:00:59 -07:00
Rohan Verma
517c40f060
Merge pull request #1272 from mvanhorn/osc/1247-functional-setIsDark
fix(theme-toggle): use functional setIsDark in toggleTheme (#1247)
2026-04-20 20:59:04 -07:00
Rohan Verma
6bd4ffb98e
Merge pull request #1268 from aaron-seq/fix/move-open-reset-effects-to-onOpenChange
fix(dialogs): move open-reset effects into onOpenChange handlers
2026-04-20 20:58:27 -07:00
CREDO23
30944c0fec feat(notion-mcp): wire frontend to MCP OAuth endpoints 2026-04-20 21:02:34 +02:00
Anish Sarkar
2251e464c7 feat: enhance Obsidian plugin with new stats feature, improved error handling, and streamlined device management 2026-04-20 21:07:15 +05:30
Anish Sarkar
54e66e131a feat: remove plugin version references from Obsidian plugin routes, schemas, and UI components for cleaner integration 2026-04-20 19:49:58 +05:30
Anish Sarkar
87150a6d7f feat: enhance Obsidian plugin routes with for_update parameter for improved concurrency handling 2026-04-20 19:24:36 +05:30
Anish Sarkar
b5c9388c8a feat: refine Obsidian plugin routes and schemas for improved device management and API stability 2026-04-20 18:19:30 +05:30
Matt Van Horn
8cf957b301
fix(theme-toggle): use functional setIsDark in toggleTheme (#1247)
Closes #1247.

toggleTheme's previous implementation read isDark from the closure via
setIsDark(!isDark), which forced isDark into the useCallback dependency
array. As a result toggleTheme's reference changed on every click,
invalidating any downstream memoization.

Switched to the functional updater setIsDark((prev) => !prev) and
dropped isDark from the dependency list. The sibling setCrazyLightTheme
and setCrazyDarkTheme callbacks already use this pattern (they pass
concrete values to setIsDark without listing isDark in deps), so this
keeps the three theme callbacks consistent.

No observable behavior change — clicking the theme toggle still flips
isDark. The callback reference is now stable between clicks, which is
also safer under concurrent updates per React's standard guidance.
2026-04-20 01:58:20 -07:00
Anish Sarkar
60d9e7ed8c feat: introduce SurfSense plugin for Obsidian with syncing capabilities and enhanced settings management 2026-04-20 04:04:19 +05:30
Anish Sarkar
ee2fb79e75 feat: update Obsidian connector to support plugin-based syncing and improve UI components 2026-04-20 04:03:45 +05:30
Tacite243
be2e011375 perf: lazy-load DocumentTabContent to reduce initial dashboard bundle size 2026-04-19 14:50:55 +02:00