mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-08-22 15:23:37 +00:00
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> |
||
|---|---|---|
| .. | ||
| agent | ||
| agent-tools | ||
| auth | ||
| automations | ||
| chat | ||
| chat-comments | ||
| citation | ||
| connector-dialog | ||
| connectors | ||
| documents | ||
| editor | ||
| folder-sync | ||
| inbox | ||
| invites | ||
| layout | ||
| logs | ||
| members | ||
| model-connections | ||
| permissions | ||
| prompts | ||
| public-chat-snapshots | ||
| roles | ||
| tabs | ||
| ui | ||
| user | ||
| workspaces | ||