Verwaltung: Zugangscode wieder bei jedem Oeffnen noetig
Dogi hat die Lockerung vom 04.08.2026 ("Code nur einmal am Tag") heute
zurueckgenommen. Gewaehlte Auspraegung: Code beim OEFFNEN der Seite/App,
Neuladen im selben Tab wirft nicht raus, keine Abmeldung bei Untaetigkeit.
- admin-auth.js legt die Sitzung jetzt in sessionStorage statt in
localStorage: gehoert zum Tab/App-Fenster, uebersteht F5 und Uploads,
ist beim naechsten Oeffnen weg. Zweiter Tab = eigener Code.
- Alte localStorage-Sitzung wird beim ersten Laden einmalig entfernt --
sonst waere Dogi trotz Umstellung mit dem alten Token weiter drin und
ein Token laege monatelang im Browser herum.
- Versionsnummer des Skripts hochgesetzt: Caddy liefert Assets mit
max-age=14400, der Browser haette die alte Anmelde-Logik sonst bis zu
vier Stunden weiterbenutzt.
- Der 24-Std-Ablauf bleibt als Rueckfallsicherung fuer tagelang offene
Tabs; der Server erzwingt dieselbe Grenze weiterhin selbst.
- Neuer Test pruef-verwaltung-anmeldung.mjs (12 Pruefungen: Gate beim
Oeffnen, alte Sitzung wirkungslos, falscher/richtiger Code, F5 bleibt
drin, neuer Tab verlangt Code, Abmelden raeumt auf, Untaetigkeit meldet
NICHT ab).
- pruef-verwaltung-kacheln.mjs: echten Aufruf ans Live-Backend abgefangen
und auf die Supporter-Zeilen gewartet -- der Test hatte dadurch
gelegentlich falsch gemeldet.
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -123,9 +123,22 @@ async function laden(browser, viewport, dateiname) {
|
||||
await seite.route("**/assets/js/admin-auth.js*", (route) =>
|
||||
route.fulfill({ status: 200, contentType: "text/javascript", body: ATTRAPPE })
|
||||
);
|
||||
/* Die Seite holt die Website-Texte mit einem eigenen fetch() direkt vom
|
||||
Live-Backend — das ginge im Test wirklich ins Netz und verzögerte je
|
||||
nach Laufzeit alles, was danach kommt (die Supporter-Liste wird erst
|
||||
danach gefüllt). Deshalb hier abfangen: der Test soll messen, was die
|
||||
Seite tut, nicht wie schnell der Server gerade antwortet. */
|
||||
await seite.route("https://postfach.dogfather-universe.com/**", (route) =>
|
||||
route.fulfill({
|
||||
status: 200,
|
||||
headers: { "access-control-allow-origin": "*", "content-type": "application/json" },
|
||||
body: JSON.stringify({ ok: true, texte: {} }),
|
||||
})
|
||||
);
|
||||
seite.on("pageerror", (e) => pruefe("Kein JS-Fehler (" + dateiname + ")", false, (e.stack || e.message).split("\n").slice(0, 4).join(" | ")));
|
||||
await seite.goto("http://127.0.0.1:4422/verwaltung.html");
|
||||
await seite.waitForSelector("[data-testimonial-id]", { timeout: 8000 });
|
||||
await seite.waitForSelector("#supporter-tbody tr[data-id]", { timeout: 8000 });
|
||||
await seite.waitForTimeout(400);
|
||||
return seite;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user