SurfSense/surfsense_web
DESKTOP-RTLN3BA\$punk 4a05a114ab chore: plain Apache LICENSE, and the site and README say the plugins have shipped
- LICENSE is the plain Apache 2.0 text, without the "Portions of this
  software" preamble, so GitHub's About panel names the license. The two BSL
  folders keep their own LICENSE, which names each folder as its scope; the
  README's License section and the Terms page now name both, and the Terms
  point at the LICENSE files rather than the root one alone.
- /plugins: the eight plugins shipped in 2.2.1, with what each reads, how to
  start (download, free 30-day licence, Settings › Plugins, @ in a chat),
  third-party plugins and the registry, and why Reddit and Instagram are not
  offered.
- /pricing: 7 platforms and the web crawler, not 9; the plugin note, the
  licence and trial answers and the expiry answer describe the shipped
  plugins; third-party plugins need no licence.
- Homepage plugin band: no longer "Coming soon".
- README: a Plugins section linking /downloads for the free licence, in place
  of Star history.
2026-10-15 14:49:37 -07:00
..
app chore: plain Apache LICENSE, and the site and README say the plugins have shipped 2026-10-15 14:49:37 -07:00
atoms feat(chat): persist retrieval scope in cookies 2026-09-03 13:47:07 +05:30
blog/content fix: update URLs to use the "www" subdomain across the application 2026-05-15 12:35:15 -07:00
changelog/content docs(artifacts): document removal of document exports 2026-08-16 20:51:28 +05:30
components chore: plain Apache LICENSE, and the site and README say the plugins have shipped 2026-10-15 14:49:37 -07:00
content/docs feat(local): more pre release tweaks 2026-09-17 21:19:21 -07:00
contexts feat(i18n): add Korean (ko) translation 2026-07-10 11:22:54 +07:00
contracts revert: cloud pricing and no-login chat retirement 2026-09-12 21:03:52 +02:00
features chore(dependencies): update lucide-react to version 1.40.0 and adjust icon imports 2026-09-03 18:23:56 +05:30
hooks fix(web): poll until the mount folder resolves so the badge shows 2026-09-01 15:49:46 +02:00
i18n feat(i18n): add Korean (ko) translation 2026-07-10 11:22:54 +07:00
lib Merge remote-tracking branch 'upstream/dev' into feat/homepage-new 2026-10-14 17:37:27 +05:30
messages chore(web): drop the unused feature_ollama translation string 2026-10-08 17:55:05 +05:30
public feat(web): use the Palace of Fine Arts artwork for the OG image 2026-10-10 05:15:24 +05:30
scripts feat(local): more pre release tweaks 2026-09-17 21:19:21 -07:00
tests fix(sunset): gate the web redirect on DEPLOYMENT_MODE 2026-09-29 09:08:25 +02:00
types feat(rename): complete searchSpace to workspace transition across frontend and backend 2026-07-06 15:12:40 +05:30
zero Reapply "feat: Git remote exports, Google SERP parsing fixes, & testing video sandbox" 2026-08-29 19:51:37 +05:30
.cursorrules chore: add AGENTS.md and a small set of vendor skills 2026-09-18 08:51:48 +02:00
.dockerignore chore: ignore Playwright runtime artifacts 2026-05-04 17:48:44 +05:30
.env.example feat(homepage): replace the top announcement bar with a hero pill 2026-10-07 18:07:54 +05:30
.gitignore chore: update .gitignore and biome.json to include additional test-related directories and files for improved E2E testing 2026-05-12 03:59:52 +05:30
AGENTS.md fix(skills): route shadcn work through frontend-workflow 2026-09-18 23:09:34 +05:30
biome.json chore: update .gitignore and biome.json to include additional test-related directories and files for improved E2E testing 2026-05-12 03:59:52 +05:30
CLAUDE.md chore(agents): symlink CLAUDE.md to AGENTS.md in each tree 2026-09-18 23:01:19 +05:30
components.json
Dockerfile build(node): build the website and the installers on Node 24 2026-10-03 07:40:31 +02:00
eslint.config.mjs refactor(web): replace instances of BACKEND_URL with buildBackendUrl for improved URL handling 2026-06-16 14:51:25 +05:30
instrumentation-client.ts feat(automations): enhance tracking for automation lifecycle events 2026-05-30 01:13:21 -07:00
instrumentation.ts
LICENSE
mdx-components.tsx
next.config.ts feat(homepage): set the hero and a closing CTA on a dithered scene 2026-10-07 19:18:10 +05:30
package.json build(node): build the website and the installers on Node 24 2026-10-03 07:40:31 +02:00
playwright.config.ts test(artifacts): move parseWorkbook tests to tests/unit 2026-08-12 14:42:40 +02:00
pnpm-lock.yaml build(node): build the website and the installers on Node 24 2026-10-03 07:40:31 +02:00
pnpm-workspace.yaml fix(web): patch next, mermaid, vite and vulnerable transitive deps 2026-09-30 23:22:59 -07:00
postcss.config.mjs
proxy.ts fix(sunset): gate the web redirect on DEPLOYMENT_MODE 2026-09-29 09:08:25 +02:00
README.md docs: add backend and web READMEs so each product has a setup path 2026-09-18 08:52:14 +02:00
source.config.ts refactor(changelog): remove title and description fields from changelog entries and update schema 2026-06-09 10:13:27 +05:30
svgr.d.ts chore: ran linting 2026-07-15 15:48:54 +05:30
tailwind.config.js
tsconfig.json

SurfSense web

Next.js UI for the self-host stack (App Router, pnpm).

This is not the desktop UI. Desktop frontend lives in surfsense_local/frontend/.

You need

Run it

cp .env.example .env

In .env, point at a backend on your machine (the example file uses Docker hostnames):

NEXT_PUBLIC_FASTAPI_BACKEND_URL=http://localhost:8000
SURFSENSE_BACKEND_INTERNAL_URL=http://localhost:8000
AUTH_TYPE=LOCAL
ETL_SERVICE=DOCLING
DEPLOYMENT_MODE=self-hosted

Then:

pnpm install
pnpm dev

App: http://localhost:3000

Match AUTH_TYPE with the backend. Leave SUNSET_MODE unset.

Live document/chat updates need zero-cache. Most UI PRs can run without it; the page just will not refresh itself.

Tests

pnpm test:unit
pnpm format

Playwright needs Postgres, Redis, the API, and a worker. See tests/README.md.