Fix: Geburtstags-KI — Rate-Limit entfernt, KI_MODE=cloud auf Staging, bessere Fehlermeldungen (SW by-v781)

This commit is contained in:
rene 2026-05-08 18:41:02 +02:00
parent 9ebd40aaae
commit 34fe59a672
7 changed files with 15 additions and 12 deletions

View file

@ -327,7 +327,7 @@ MEDIA_DIR = os.getenv("MEDIA_DIR", "/data/media")
os.makedirs(MEDIA_DIR, exist_ok=True)
app.mount("/media", StaticFiles(directory=MEDIA_DIR), name="media")
APP_VER = "780" # muss mit APP_VER in app.js übereinstimmen
APP_VER = "781" # muss mit APP_VER in app.js übereinstimmen
@app.get("/.well-known/assetlinks.json")
async def assetlinks():

View file

@ -195,9 +195,6 @@ async def ki_geburtstag(req: BirthdayRequest, request: Request,
if cached:
return {"answer": cached["content"], "cached": True}
# Rate-Limit: 1 Generierung pro Tag pro User
rl_check(request, max_requests=1, window_seconds=86400, key=f"ki_bday_{req.dog_id}_{mode}")
name = req.name.strip()[:40] or "deinen Hund"
rasse = req.rasse or None
alter = req.alter

View file

@ -575,10 +575,10 @@
<div id="modal-container"></div>
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
<script src="/js/api.js?v=780"></script>
<script src="/js/ui.js?v=780"></script>
<script src="/js/app.js?v=780"></script>
<script src="/js/worlds.js?v=780"></script>
<script src="/js/api.js?v=781"></script>
<script src="/js/ui.js?v=781"></script>
<script src="/js/app.js?v=781"></script>
<script src="/js/worlds.js?v=781"></script>
<!-- Feature-Seiten werden lazy geladen -->

View file

@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung.
============================================================ */
const APP_VER = '780'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VER = '781'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VERSION = '1.5.0'; // ← semantische Version, wird bei make release gesetzt
const IS_STAGING = location.hostname === 'staging.banyaro.app';
// Cache-Bust-Parameter nach Update-Reload sofort entfernen

View file

@ -1471,9 +1471,14 @@ window.Worlds = (() => {
.replace(/\n/g, '<br>');
body.innerHTML = `<div style="padding-bottom:var(--space-2)">${html}</div>`;
}
} catch {
} catch (err) {
const body = ov.querySelector('#bday-ki-body');
if (body) body.innerHTML = '<div style="color:var(--c-text-secondary)">KI momentan nicht verfügbar 🐾</div>';
if (body) {
const msg = err?.status === 429
? 'Heute bereits abgerufen — morgen gibt es neue Ideen 🐾'
: 'KI momentan nicht verfügbar. Versuch es später nochmal 🐾';
body.innerHTML = `<div style="color:var(--c-text-secondary)">${msg}</div>`;
}
}
}

View file

@ -3,7 +3,7 @@
Offline-Cache + Push Notifications + Tile-Cache
============================================================ */
const CACHE_VERSION = 'by-v780';
const CACHE_VERSION = 'by-v781';
const CACHE_STATIC = `${CACHE_VERSION}-static`;
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache

View file

@ -14,6 +14,7 @@ services:
- DB_PATH=/data/banyaro.db
- MEDIA_DIR=/prod-media
- STAGING=true
- KI_MODE=cloud
- VAPID_PUBLIC_KEY=BMKbFAmpsqJ-eFef_4XJcYpuxPWqBNAoy9buMNnMSa6ijcPzltboHi_YccPKJrUD0isBez-vJIzAgjnLTWkzcC0
- VAPID_PRIVATE_KEY=8PWa9vvwMqtqsJEJGcwmiLhR0_Yl7duVX3wmWiKS878
- VAPID_CONTACT=mailto:admin@banyaro.app