From 105262eff367b9f42349309db40c2b7ae92ef5e7 Mon Sep 17 00:00:00 2001 From: rene Date: Thu, 30 Apr 2026 15:31:47 +0200 Subject: [PATCH 1/3] =?UTF-8?q?Fix:=20Settings=20refresh()=20l=C3=A4dt=20a?= =?UTF-8?q?uch=20frischen=20/me-State,=20SW=20by-v557?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/static/js/app.js | 2 +- backend/static/js/pages/settings.js | 9 ++++++++- backend/static/sw.js | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/backend/static/js/app.js b/backend/static/js/app.js index 9d526bd..777a288 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '533'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '534'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.1.2'; // ← semantische Version, wird bei make release gesetzt const IS_STAGING = location.hostname === 'staging.banyaro.app'; diff --git a/backend/static/js/pages/settings.js b/backend/static/js/pages/settings.js index da7b4a7..37f67b5 100644 --- a/backend/static/js/pages/settings.js +++ b/backend/static/js/pages/settings.js @@ -64,8 +64,15 @@ window.Page_settings = (() => { } } - function refresh() { + async function refresh() { _render(); + if (_appState?.user) { + try { + const fresh = await API.auth.me(); + Object.assign(_appState.user, fresh); + _render(); + } catch {} + } } // ---------------------------------------------------------- diff --git a/backend/static/sw.js b/backend/static/sw.js index fb662ef..14959f0 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -3,7 +3,7 @@ Offline-Cache + Push Notifications + Tile-Cache ============================================================ */ -const CACHE_VERSION = 'by-v556'; +const CACHE_VERSION = 'by-v557'; 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 From 3373c19cdc64c42e098d8317b6f1a2a1b29fafb6 Mon Sep 17 00:00:00 2001 From: rene Date: Thu, 30 Apr 2026 15:35:48 +0200 Subject: [PATCH 2/3] =?UTF-8?q?Fix:=20/me=20Endpoint=20gibt=20is=5Ffounder?= =?UTF-8?q?/is=5Fpartner/founder=5Fnumber=20zur=C3=BCck=20=E2=80=94=20SW?= =?UTF-8?q?=20by-v558?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/routes/auth.py | 3 ++- backend/static/js/app.js | 2 +- backend/static/sw.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/routes/auth.py b/backend/routes/auth.py index 32d5c6c..e46cda0 100644 --- a/backend/routes/auth.py +++ b/backend/routes/auth.py @@ -197,7 +197,8 @@ async def me(user=Depends(get_current_user)): row = conn.execute( """SELECT id, name, real_name, email, rolle, is_premium, email_verified, bio, wohnort, erfahrung, social_link, - profil_sichtbarkeit, avatar_url, created_at + profil_sichtbarkeit, avatar_url, created_at, + is_founder, is_partner, founder_number FROM users WHERE id=?""", (user["id"],) ).fetchone() diff --git a/backend/static/js/app.js b/backend/static/js/app.js index 777a288..d62b8f9 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '534'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '535'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.1.2'; // ← semantische Version, wird bei make release gesetzt const IS_STAGING = location.hostname === 'staging.banyaro.app'; diff --git a/backend/static/sw.js b/backend/static/sw.js index 14959f0..d79f046 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -3,7 +3,7 @@ Offline-Cache + Push Notifications + Tile-Cache ============================================================ */ -const CACHE_VERSION = 'by-v557'; +const CACHE_VERSION = 'by-v558'; 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 From bb73ca801c6c66e24285d044138da3a1366c558f Mon Sep 17 00:00:00 2001 From: rene Date: Thu, 30 Apr 2026 15:38:17 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Fix:=20Grant=20is=5Ffounder=3D0=20l=C3=B6sc?= =?UTF-8?q?ht=20founder=5Fnumber;=20/me=20gibt=20is=5Ffounder=20zur=C3=BCc?= =?UTF-8?q?k;=20DB=20direkt=20gefixt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/routes/partner.py | 5 ++++- backend/static/js/app.js | 2 +- backend/static/sw.js | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/routes/partner.py b/backend/routes/partner.py index 745fde7..359dc1c 100644 --- a/backend/routes/partner.py +++ b/backend/routes/partner.py @@ -92,14 +92,17 @@ def grant_user_status(user_id: int, data: GrantRequest, user=Depends(require_adm ).fetchone() if not target: raise HTTPException(404, "User nicht gefunden.") - # Beim manuellen Vergeben von is_founder: founder_number zuweisen wenn noch keine if updates.get("is_founder") == 1 and not target["founder_number"]: + # Neue Gründer-Nummer zuweisen total = conn.execute( "SELECT COUNT(*) FROM users WHERE is_founder=1" ).fetchone()[0] if total >= FOUNDER_MAX: raise HTTPException(400, f"Alle {FOUNDER_MAX} Gründer-Plätze sind vergeben.") updates["founder_number"] = total + 1 + elif updates.get("is_founder") == 0: + # Gründer-Status entfernen → founder_number ebenfalls leeren + updates["founder_number"] = None set_clause = ", ".join(f"{k}=?" for k in updates) conn.execute( f"UPDATE users SET {set_clause} WHERE id=?", diff --git a/backend/static/js/app.js b/backend/static/js/app.js index d62b8f9..c41727d 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '535'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '536'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.1.2'; // ← semantische Version, wird bei make release gesetzt const IS_STAGING = location.hostname === 'staging.banyaro.app'; diff --git a/backend/static/sw.js b/backend/static/sw.js index d79f046..ecb2350 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -3,7 +3,7 @@ Offline-Cache + Push Notifications + Tile-Cache ============================================================ */ -const CACHE_VERSION = 'by-v558'; +const CACHE_VERSION = 'by-v559'; 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