mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-25 00:36:31 +02:00
- Introduced IPC channels for getting and setting the active search space, enhancing user experience across the application. - Updated the preload script to expose new API methods for active search space management. - Modified the main window and quick ask functionalities to sync the active search space based on user navigation. - Enhanced the desktop and web applications to allow users to select and manage their default search space seamlessly. - Implemented automatic synchronization of the active search space during login and navigation events. |
||
|---|---|---|
| .. | ||
| assets | ||
| scripts | ||
| src | ||
| .env | ||
| .gitignore | ||
| .npmrc | ||
| electron-builder.yml | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
SurfSense Desktop
Electron wrapper around the SurfSense web app. Packages the Next.js standalone build into a native desktop application with OAuth support, deep linking, and system browser integration.
Prerequisites
- Node.js 18+
- pnpm 10+
- The
surfsense_webproject dependencies installed (pnpm installinsurfsense_web/)
Development
pnpm install
pnpm dev
This starts the Next.js dev server and Electron concurrently. Hot reload works — edit the web app and changes appear immediately.
Configuration
Two .env files control the build:
surfsense_web/.env — Next.js environment variables baked into the frontend at build time:
surfsense_desktop/.env — Electron-specific configuration:
Set these before building.
Build & Package
Step 1 — Build the Next.js standalone output:
cd ../surfsense_web
pnpm build
Step 2 — Compile Electron and prepare the standalone output:
cd ../surfsense_desktop
pnpm build
Step 3 — Package into a distributable:
pnpm dist:mac # macOS (.dmg + .zip)
pnpm dist:win # Windows (.exe)
pnpm dist:linux # Linux (.deb + .AppImage)
Step 4 — Find the output:
ls release/