From be11baf52b157ce69f71dd8bb34a1e06fd3a19bd Mon Sep 17 00:00:00 2001 From: Jeuner <62662523+Jeuners@users.noreply.github.com> Date: Fri, 28 Aug 2026 18:59:24 +0200 Subject: [PATCH] feat: ?logoff in der URL loest die Abmeldung zusaetzlich zum Button aus Der Abmelden-Button blendet sich erst nach dem ersten erfolgreichen Status-Abruf ein - bei zugestopftem/schmalem Header oder einer alten, nicht neu geladenen Seite war er dadurch schwer zu finden. ".../?logoff" an die Leitstand-URL angehaengt loest denselben Ablauf jetzt garantiert aus, unabhaengig vom Button. Query-String wird danach aus der URL entfernt, damit ein Reload nicht erneut abmeldet. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01EbdWYnDtyMgxsq4eN1WnrQ --- pipe/server.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pipe/server.py b/pipe/server.py index dd3792b..80f1e62 100644 --- a/pipe/server.py +++ b/pipe/server.py @@ -969,13 +969,18 @@ sicherBtn.onclick=()=>{ // nachweislich ihren Credential-Cache fuer diesen Ursprung, ein Reload // danach zeigt wieder den Anmelde-Dialog. Funktioniert in den gaengigen // Browsern, ist aber kein Ersatz fuer "Fenster schliessen" bei geteilten Rechnern. -document.getElementById('logoutBtn').onclick=()=>{ +// Zwei Ausloeser: der Button (falls sichtbar) UND ?logoff in der URL - Zweiteres +// funktioniert immer, unabhaengig davon, ob der Button im Header gerade zu +// sehen ist (z.B. bei zugestopftem Header auf schmalen Bildschirmen). +function abmelden(){ document.cookie='zugang=; Max-Age=0; Path=/'; const xhr=new XMLHttpRequest(); xhr.open('GET','/',true,'logout','logout'); - xhr.onloadend=()=>location.reload(); + xhr.onloadend=()=>{location.href=location.pathname}; xhr.send(); -}; +} +document.getElementById('logoutBtn').onclick=abmelden; +if(new URLSearchParams(location.search).has('logoff'))abmelden(); // Kategorisierungs-Modell (Dropdown oben rechts) - Wechsel greift sofort // beim naechsten Anruf, kein Neustart des Watchers noetig (siehe