fix(settings): audit pass — model auto-pull on startup, background_model empty-string bug, base URL validation
- Startup now pulls Config.OLLAMA_MODEL (system default chat model) — previously only embedding and background models were pulled; the primary chat model was skipped - _warm_user_models expanded to also pull user-configured default_model and background_model overrides that are missing from Ollama, rather than logging and skipping them; pulls run before warm/KV-cache priming - Add background_model to _MODEL_KEYS in settings route so clearing the dropdown deletes the DB row instead of saving "", which caused Ollama failures in tag suggestions, title generation, project summaries, and RSS classification - Add http/https scheme validation to PUT /api/admin/base-url matching the CalDAV route pattern; a bad value no longer silently breaks invite/password-reset links - Update admin voice config description: "Reload models" button exists to avoid a server restart, so the old "restart required" text was misleading Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -195,6 +195,10 @@ async def get_base_url_setting():
|
||||
async def update_base_url():
|
||||
data = await request.get_json()
|
||||
url = (data.get("base_url") or "").strip().rstrip("/")
|
||||
if url:
|
||||
scheme = url.split("://")[0].lower() if "://" in url else ""
|
||||
if scheme not in ("http", "https"):
|
||||
return jsonify({"error": "Base URL must use http or https"}), 400
|
||||
uid = get_current_user_id()
|
||||
await set_setting(uid, "base_url", url)
|
||||
await log_audit("base_url_config", user_id=uid, username=g.user.username, ip_address=request.remote_addr, details={"base_url": url})
|
||||
|
||||
Reference in New Issue
Block a user