SurfSense/surfsense_web
MODSetter b7ad5ecfff feat(models): drop catalogue models that cannot serve a turn
Passing OpenRouter's metadata filters does not prove a model can complete a
turn through this harness, so dead-but-advertised models kept reaching users
and failing mid-stream. A new model_compatibility table holds one verdict per
model, a weekly Celery sweep re-probes stale entries, and catalogue
generation reads the blocked ids back so those models are never offered.
Also excludes :batch variants, which advertise full chat metadata and then
reject completions outright.

Auto-pin now falls through to Auto when an explicitly selected global config
is absent from the current worker's catalogue. Returning it handed
load_llm_bundle an id it could not resolve, ending the turn with SERVER_ERROR
on one of the four uvicorn workers while the identical request succeeded on
the others. Catalogue refresh also re-materializes GLOBAL_MODELS, which
previously kept its boot snapshot until restart.

On the web side a single dropped connection surfaced as one toast per
in-flight query and dozens of PostHog exceptions, with no retry button.
Network errors now share a toast id, are deduped per endpoint before capture,
carry host and online context, and count as retryable.

Consolidates the model filter helpers duplicated between the model list and
OpenRouter services into openrouter_model_normalizer, renames OoxmlDefect to
OoxmlError, and includes a ruff format and import-order pass.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-14 18:59:11 +05:30
..
app feat(chat-artifacts): enhance artifact handling with deep linking and loading states 2026-08-14 11:48:10 +05:30
atoms feat(models): drop catalogue models that cannot serve a turn 2026-08-14 18:59:11 +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 refactor: update README files to reflect the transition of SurfSense to an open web research platform for AI agents 2026-07-16 18:52:00 -07:00
components Merge remote-tracking branch 'upstream/dev' into fix/artifacts-sandbox-ui 2026-08-14 12:58:20 +05:30
content/docs Merge pull request #1643 from AnishSarkar22/feat/searxng-fallback 2026-07-29 15:31:41 -07:00
contexts feat(i18n): add Korean (ko) translation 2026-07-10 11:22:54 +07:00
contracts feat(podcasts): align delivery to the Artifact model 2026-08-13 20:52:59 +02:00
features Merge remote-tracking branch 'upstream/dev' into fix/artifacts-sandbox-ui 2026-08-14 12:58:20 +05:30
hooks feat(podcasts): align delivery to the Artifact model 2026-08-13 20:52:59 +02:00
i18n feat(i18n): add Korean (ko) translation 2026-07-10 11:22:54 +07:00
lib feat(models): drop catalogue models that cannot serve a turn 2026-08-14 18:59:11 +05:30
messages fix(translations): update 'no_chats' message across multiple languages for clarity 2026-08-05 02:21:31 +05:30
public Merge remote-tracking branch 'upstream/dev' into feature-walmart-scraper 2026-07-21 02:42:41 +02:00
tests feat(models): drop catalogue models that cannot serve a turn 2026-08-14 18:59:11 +05:30
types feat(rename): complete searchSpace to workspace transition across frontend and backend 2026-07-06 15:12:40 +05:30
zero feat(podcasts): align delivery to the Artifact model 2026-08-13 20:52:59 +02:00
.cursorrules
.dockerignore
.env.example fix: add missing default setup env variables 2026-07-15 15:31:34 -03:00
.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
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
components.json
Dockerfile fix(Dockerfile): set CI environment variable during development build 2026-08-13 22:10:09 +05:30
drizzle.config.ts
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(artifacts): deliver generated images straight to an Artifact 2026-08-13 14:58:06 +02:00
package.json feat(dependencies): add react-data-grid version 7.0.0-beta.61 to package.json and update pnpm-lock.yaml 2026-08-13 22:14:15 +05:30
playwright.config.ts test(artifacts): move parseWorkbook tests to tests/unit 2026-08-12 14:42:40 +02:00
pnpm-lock.yaml feat(dependencies): add react-data-grid version 7.0.0-beta.61 to package.json and update pnpm-lock.yaml 2026-08-13 22:14:15 +05:30
pnpm-workspace.yaml feat: added blog posts 2026-05-15 11:55:30 -07:00
postcss.config.mjs
proxy.ts chore: fix linting 2026-06-25 04:31:22 +05:30
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
tsc_out.txt refactor: remove search_surfsense_docs tool and related references 2026-05-28 22:35:14 -07:00
tsconfig.json