Sprint 14: Multi-Fix-Batch — SW by-v428, APP_VER 407

KI/Symptom-Check: JSON-Code-Fence stripping in ki.py, Dringlichkeit-Map mit Phosphor-Icons
Gewicht-Sync: health.js aktualisiert appState.activeDog.gewicht_kg auch bei Bearbeitung
Giftköder: icon:'check-circle' → UI.icon('check-circle') in emptyState-Call
Forum-Pills: overflow:hidden + text-overflow:ellipsis auf Desktop und Mobile
Moderation: Admins für Moderatoren unsichtbar, keine Aktions-Buttons auf Admins
Notizblock: Filter-Chips wrap 2-zeilig auf Desktop (min-width:1024px)
Tagebuch: Datenschutz-Hinweis "nur du kannst sie sehen", Sitter sieht keine bestehenden Einträge
diary.py: Sitter-Zugriff gibt leere Liste zurück (GET), Erstellen bleibt erlaubt
This commit is contained in:
rene 2026-04-26 11:06:59 +02:00
parent 02120bb532
commit 016eb52d83
12 changed files with 111 additions and 33 deletions

View file

@ -220,13 +220,15 @@ Antworte NUR als JSON:
user_is_premium=user_is_premium,
json_mode=True,
)
import json
import json, re
# Cloud-Modelle wrappen JSON manchmal in ```json … ``` — stripppen
cleaned = re.sub(r"^```(?:json)?\s*|\s*```$", "", result.strip(), flags=re.DOTALL)
try:
return json.loads(result)
return json.loads(cleaned)
except json.JSONDecodeError:
return {
"dringlichkeit": "tierarzt_heute",
"einschaetzung": result,
"einschaetzung": cleaned,
"hinweise": [],
"zum_tierarzt_wenn": "Bei Verschlechterung sofort.",
}