Commit graph

130 commits

Author SHA1 Message Date
Anish Sarkar
baba31ab43 feat(tray): refactor context menu creation for improved screenshot functionality and quit option 2026-05-26 12:23:41 +05:30
Anish Sarkar
bf4e60d224 feat(menu, dev-tools): enhance menu with view options and enable dev tools in development mode 2026-05-26 03:55:16 +05:30
Anish Sarkar
98697f1dd6 feat(auto-updater, menu): implement update state management and enhance menu options for updates 2026-05-26 03:11:06 +05:30
Anish Sarkar
6cf0f07366 refactor(auto-updater): remove native install dialog and streamline update notification handling 2026-05-26 02:38:23 +05:30
Anish Sarkar
c0fefa4db1 feat(auto-updater, ui): implement update notification and installation prompt in desktop application 2026-05-25 23:24:26 +05:30
Anish Sarkar
74fff64779 feat(menu): add Privacy Policy and Terms of Service options to the application menu 2026-05-25 22:26:14 +05:30
Anish Sarkar
26fe4d7493 feat(auto-updater, menu): enhance update management and add menu options for updates and policies 2026-05-25 21:44:31 +05:30
Anish Sarkar
96da8498e6 Merge remote-tracking branch 'upstream/dev' into fix/electron-nextjs 2026-05-25 18:01:06 +05:30
Anish Sarkar
fe797e65d6 refactor(deep-links, quick-ask, window): replace localhost references with dynamic server origin retrieval 2026-05-25 17:55:03 +05:30
Anish Sarkar
a2847664c8 feat(server): enhance server management with process forking and implement server origin retrieval 2026-05-25 17:52:10 +05:30
Anish Sarkar
7be4231ad4 feat(app): update product name to 'SurfSense' and implement server shutdown on app quit 2026-05-25 17:45:27 +05:30
CREDO23
d5284b3076 fix(desktop): bind bundled Next.js on localhost to keep window origin stable
Setting HOSTNAME=0.0.0.0 made Next.js standalone canonicalize request.url to
http://0.0.0.0:PORT. The connector OAuth callback's NextResponse.redirect built
its Location from that URL, so navigating it flipped window.location.origin from
http://localhost:PORT to http://0.0.0.0:PORT. The backend CORS allowlist matches
localhost/127.0.0.1 only, blocking every subsequent API call until app restart —
producing the "no internet" / app-down state after connecting any connector.
2026-05-22 19:37:19 +02:00
CREDO23
b9403b1720 feat(desktop): emit PostHog events for OAuth redirect intercept and miss
Adds two diagnostic events to surface OAuth-redirect failures we can't
reproduce on Linux:

- desktop_oauth_redirect_intercepted fires from inside onBeforeRequest
  with the original host, path, and target port — confirms the rewrite
  actually ran.
- desktop_oauth_redirect_missed fires from a read-only onCompleted
  listener when a /dashboard/*/connectors/callback URL lands off-localhost,
  meaning the rewrite filter didn't catch it. This is the smoking-gun
  event for "connector OAuth dies on mac/win" reports.

Read-only; no behavior change.
2026-05-22 18:40:06 +02:00
CREDO23
1b6c238c68 refactor(desktop): harden OAuth redirect rewrite for host variants and self-hosters
The interceptor previously matched a strict `${HOSTED_FRONTEND_URL}/*`
prefix and did a naive String.replace, which broke whenever the backend
NEXT_FRONTEND_URL differed at all (apex vs www, http vs https, or a
self-hosted domain). Now:

- Match by host: apex + www. sibling, both http and https.
- Rewrite via URL parsing so only protocol/host change; query strings
  containing the host as a value are left intact.
- Read HOSTED_FRONTEND_URL through getHostedFrontendUrl() which honors
  a SURFSENSE_HOSTED_FRONTEND_URL_OVERRIDE env var, letting self-hosters
  point their builds at their own frontend without rebuilding.

Default behavior is identical when override is unset and backend host
matches the baked-in value.
2026-05-22 18:39:47 +02:00
CREDO23
6ee7c04d02 fix(desktop): recover deep-link URL from argv on win/linux cold start
setupDeepLinks() only listened for second-instance and open-url events.
On Windows/Linux a fresh launch via `surfsense://` delivers the URL in
argv of the first instance, where it was silently dropped. Scan argv on
setup so the existing handlePendingDeepLink() pass picks it up.
2026-05-22 18:39:22 +02:00
Anish Sarkar
07688263d8 feat: add new icon assets for macOS and update tray icon handling 2026-05-19 20:04:37 +05:30
Anish Sarkar
cd4e5ae7f2 feat: implement macOS-specific title bar adjustments and enhance RightPanel with toggle functionality 2026-05-19 18:57:06 +05:30
CREDO23
2d962f6dd2 Merge upstream/dev 2026-04-27 22:44:40 +02:00
Anish Sarkar
b85b7cbae0 feat(filesystem): introduce support for local openable text file extensions and enhance folder expansion persistence in the UI 2026-04-28 01:12:15 +05:30
CREDO23
d4caae6de9 Move desktop screen capture into modules/screen-capture and align preload build paths and imports. 2026-04-27 20:39:03 +02:00
CREDO23
9cd4daa6b3 Add a single-session desktop window picker and route screenshot assist, region crop, and fullscreen capture through the cached frame. 2026-04-27 20:35:47 +02:00
Anish Sarkar
f330d1431c feat(filesystem): implement filesystem tree watch functionality using chokidar for real-time updates on local folder changes 2026-04-27 23:08:32 +05:30
CREDO23
df952ffa28 Add Screenshot Assist to stored shortcuts, default to Shift+Space, and migrate legacy autocomplete. 2026-04-27 18:49:36 +02:00
CREDO23
1c7362d9c6 Handle full-screen capture IPC and reregister Screenshot Assist when its shortcut changes. 2026-04-27 18:49:33 +02:00
CREDO23
f489fee2e8 Register General Assist and Screenshot Assist as two independent global shortcuts. 2026-04-27 18:49:30 +02:00
CREDO23
24a5a06f21 Make General Assist only focus the main window, without region capture. 2026-04-27 18:49:27 +02:00
CREDO23
7145a15149 Add Screenshot Assist shortcut flow: show window, pick region, send data URL to chat. 2026-04-27 18:49:24 +02:00
CREDO23
d212422bf5 Add full-screen display capture alongside the region picker for desktop chat. 2026-04-27 18:49:20 +02:00
CREDO23
62b9e328b4 Add desktop IPC, preload, and window types for chat screen capture and full-screen capture. 2026-04-27 18:49:15 +02:00
Anish Sarkar
27e16231c1 feat(filesystem): enhance agent filesystem API with searchSpaceId support for improved context handling 2026-04-27 21:00:40 +05:30
Anish Sarkar
6aa172a730 feat(filesystem): increase max local roots to 10, optimize path normalization, and implement caching for filesystem settings 2026-04-27 20:07:02 +05:30
Anish Sarkar
95511f0915 feat(sidebar): implement canonicalize roots, authoritative mount handling & preserved incremental UX for local folder mode 2026-04-27 19:58:12 +05:30
CREDO23
ba25c68c0d Restore default desktop shortcuts and Linux pack scripts 2026-04-24 20:43:04 +02:00
CREDO23
b0810b4d47 Wire General Assist and screen capture through Electron IPC 2026-04-24 19:14:37 +02:00
CREDO23
7097f542fb Add native screen region capture modules and preload build 2026-04-24 19:13:14 +02:00
CREDO23
6c178a0271 Remove desktop autocomplete native window modules 2026-04-24 18:49:51 +02:00
Anish Sarkar
30b55a9baa feat(filesystem): refactor local filesystem handling to use mounts instead of root paths, enhancing mount management and path normalization 2026-04-24 05:59:21 +05:30
Anish Sarkar
a7a758f26e feat(filesystem): add getAgentFilesystemMounts API and integrate with LocalFilesystemBrowser for improved mount management 2026-04-24 05:03:23 +05:30
Anish Sarkar
1e9db6f26f feat(filesystem): enhance local mount path normalization and improve virtual path handling in agent filesystem 2026-04-24 02:12:30 +05:30
Anish Sarkar
3ee2683391 feat(filesystem): propagate localRootPaths across desktop and web API 2026-04-24 01:45:13 +05:30
Anish Sarkar
864f6f798a feat(filesystem): enhance local file handling in editor and IPC integration 2026-04-23 17:23:38 +05:30
Anish Sarkar
4899588cd7 feat(web): connect new chat UI to agent filesystem APIs 2026-04-23 15:46:39 +05:30
Anish Sarkar
5c3a327a0c feat(desktop): expose agent filesystem IPC APIs 2026-04-23 15:45:59 +05:30
DESKTOP-RTLN3BA\$punk
24383a3741 feat: add auto-launch functionality for desktop app
- Implemented IPC channels for managing auto-launch settings.
- Enhanced main process to handle auto-launch behavior on startup.
- Updated UI components to allow users to configure launch options.
- Integrated analytics tracking for auto-launch events.

This commit introduces the ability for users to enable or disable the application launching at system startup, along with options for starting minimized to the tray.
2026-04-20 12:42:06 -07:00
DESKTOP-RTLN3BA\$punk
b440610e04 feat: implement analytics tracking for desktop app events
- Added event tracking for desktop app activation and quitting.
- Introduced analytics bridge in preload script to handle user identification and event capturing.
- Updated IPC channels to support analytics-related actions.
- Enhanced analytics functionality in the main process to track user interactions and application updates.
- Integrated analytics tracking for folder watching and deep link handling.
- Improved connector setup tracking in the web application.

This commit enhances the overall analytics capabilities of the application, ensuring better user behavior insights and event tracking across both desktop and web environments.
2026-04-18 14:35:14 -07:00
Anish Sarkar
d009d06432 feat: add seedFolderMtimes API for seeding file modification times during folder synchronization 2026-04-08 16:07:25 +05:30
Anish Sarkar
5f5954e932 feat: implement upload-based folder indexing and synchronization features 2026-04-08 15:46:52 +05:30
DESKTOP-RTLN3BA\$punk
6dd85dd365 feat: validate version format in auto-updater and release workflow
- Added a check in the desktop release workflow to ensure version tags follow semantic versioning (semver) format.
- Enhanced the auto-updater to log a message and skip updates if the app version is not valid semver.
- Improved type definitions for event handlers in the auto-updater for better TypeScript support.
2026-04-07 20:07:15 -07:00
Rohan Verma
e827a3906d
Merge pull request #1162 from CREDO23/feat/vision-autocomplete
[Feat] Multi-suggestion autocomplete, Vision LLM config & Desktop analytics
2026-04-07 14:01:44 -07:00
DESKTOP-RTLN3BA\$punk
00ee7974f6 fix(desktop): pasteback issues in quick ask
- Updated the quick ask window URL to include a query parameter for quick assist mode.
- Introduced a constant to detect quick assist mode based on the URL parameter in the assistant message component.
- Simplified state management for quick assist detection, improving component performance and clarity.
2026-04-07 13:13:16 -07:00