Verwaltung: Ausweis vorsorglich erneuern statt erst nach dem Fehlschlag
"wenn ich von postfach auf projekte oder so gehe da werd ich immer wieder mien zugangscode gefragt ... ich will nur den zugangscode anfrage wenn ich auf die seite will und fertig" Die Wiederholung bei 401 (v12) rettet zwar jeden Fall, greift aber erst, NACHDEM eine Anfrage abgewiesen wurde: ein unnoetiger Umlauf, und solange steht ein Ladehinweis auf dem Schirm. Jetzt laeuft der Ausweis gar nicht erst ab. Er gilt 15 Minuten, erneuert wird alle 10 -- mit Abstand, damit ein langsamer Netzzugang nicht ins Zeitfenster hineinlaeuft. Im Hintergrund pausiert die Erneuerung, das waere Verschwendung. Dazu beim Zurueckkommen ins Fenster: War der Rechner zwischendurch zu, ist der Ausweis mit Sicherheit abgelaufen. Dann soll der erste Klick sofort sitzen statt ueber einen Fehlschlag zu gehen. Beim schnellen Hin- und Herwechseln zwischen zwei Fenstern passiert nichts -- unter einer Minute wird nicht erneuert. Die Codeeingabe erscheint jetzt nur noch in genau zwei Faellen: beim ersten Betreten der Seite und wenn die Zugangssitzung wirklich abgelaufen ist (8 Stunden oder Seite geschlossen). Genau so war es gewuenscht. GEPRUEFT: sieben Reiterwechsel hintereinander -- postfach, projekte, kunden, zahlungen, anfragen, postfach, zahlungen -- und vor JEDEM wurde der Ausweis kuenstlich fuer ungueltig erklaert. Null Codeabfragen, die Verwaltung blieb offen, der Inhalt erschien. Verwaltung weiterhin 69 von 69. Versionsstempel und Cache-Name auf v13. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -11,8 +11,8 @@
|
||||
<link rel="apple-touch-icon" href="/assets/img/wd-app-180.png" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-title" content="DF Verwaltung" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=20260823wd12" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=20260823wd12" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=20260823wd13" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=20260823wd13" />
|
||||
<style>
|
||||
/* =====================================================================
|
||||
Verwaltungsbereich — bewusst NUR AUF DEUTSCH.
|
||||
@@ -761,7 +761,7 @@
|
||||
<div class="vw-detail-blatt" id="vw-detail-blatt"></div>
|
||||
</div>
|
||||
|
||||
<script src="/assets/js/wd-core.js?v=20260823wd12"></script>
|
||||
<script src="/assets/js/wd-core.js?v=20260823wd13"></script>
|
||||
<script>
|
||||
/* =====================================================================
|
||||
Verwaltung: Anfragen ansehen, Status ändern, Notizen, Archivieren.
|
||||
@@ -865,6 +865,42 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------
|
||||
VORSORGLICHE ERNEUERUNG
|
||||
|
||||
Die Wiederholung oben rettet jeden Fall — aber sie tritt erst ein,
|
||||
NACHDEM eine Anfrage abgewiesen wurde. Das kostet einen unnötigen
|
||||
Umlauf, und in der Zwischenzeit steht ein Ladehinweis auf dem Schirm.
|
||||
|
||||
Besser ist, gar nicht erst ablaufen zu lassen. Der Ausweis gilt
|
||||
15 Minuten, erneuert wird alle 10 — mit Abstand, damit ein langsamer
|
||||
Netzzugang nicht ins Zeitfenster hineinläuft.
|
||||
|
||||
Und beim Zurückkommen: War der Rechner zwischendurch zu, ist der
|
||||
Ausweis mit Sicherheit abgelaufen. Dann soll der erste Klick sofort
|
||||
funktionieren und nicht erst über einen Fehlschlag gehen. */
|
||||
var ERNEUERN_MS = 10 * 60 * 1000;
|
||||
var letzteErneuerung = Date.now();
|
||||
|
||||
function erneuerungPlanen() {
|
||||
setInterval(function () {
|
||||
if (!token) return;
|
||||
if (document.hidden) return; // im Hintergrund unnötig
|
||||
letzteErneuerung = Date.now();
|
||||
ausweisErneuern();
|
||||
}, ERNEUERN_MS);
|
||||
|
||||
document.addEventListener("visibilitychange", function () {
|
||||
if (document.hidden || !token) return;
|
||||
/* Nur wenn wirklich Zeit vergangen ist — beim schnellen Hin- und
|
||||
Herwechseln zwischen zwei Fenstern wäre jedes Mal ein neuer
|
||||
Ausweis reine Verschwendung. */
|
||||
if (Date.now() - letzteErneuerung < 60 * 1000) return;
|
||||
letzteErneuerung = Date.now();
|
||||
ausweisErneuern();
|
||||
});
|
||||
}
|
||||
|
||||
/* ---------------- Anmeldung ---------------- */
|
||||
function zeigeAnmeldung() {
|
||||
document.getElementById("vw-anmeldung").hidden = false;
|
||||
@@ -903,6 +939,7 @@
|
||||
neue Nachrichten erst, wenn man den Reiter zufaellig anklickt --
|
||||
also womoeglich tagelang nicht. */
|
||||
zaehlerHolen();
|
||||
erneuerungPlanen();
|
||||
} catch (fehler) {
|
||||
feld.classList.add("wd-feld--fehler");
|
||||
feld.querySelector(".wd-feld-fehler").textContent = fehler.message || "Anmeldung fehlgeschlagen.";
|
||||
@@ -2703,7 +2740,7 @@
|
||||
|
||||
async function start() {
|
||||
token = tokenLesen();
|
||||
if (token) { zeigeBereich(); ladeAnfragen(); zaehlerHolen(); return; }
|
||||
if (token) { zeigeBereich(); ladeAnfragen(); zaehlerHolen(); erneuerungPlanen(); return; }
|
||||
|
||||
var ausweis = await ausweisHolen();
|
||||
if (ausweis) {
|
||||
@@ -2717,6 +2754,7 @@
|
||||
kommt von der Zugangswand und ist sofort drin) -- ohne diese
|
||||
Zeile bliebe der Zähler ausgerechnet im Normalfall leer. */
|
||||
zaehlerHolen();
|
||||
erneuerungPlanen();
|
||||
return;
|
||||
}
|
||||
zeigeAnmeldung();
|
||||
|
||||
Reference in New Issue
Block a user