Der Hinweis an der Anmeldung sagte seit dem 01.10. das Gegenteil
VanVan im Support, Meldung #5, zweite Runde: „Man kann sich jetzt nur noch über die richtige Schaltfläche anmelden. Das funktioniert jetzt. Aber wenn man sich 2x versucht über den falschen Button anzumelden, dann kommt ein irreführender Text wo steht, dass die Auswahl oben nicht schuld ist." SIE HAT RECHT -- UND DER GRUND IST MEINE EIGENE AENDERUNG Auf der Crew-Wand stand ab dem zweiten Fehlversuch: „Zugangscode stimmt nicht. Achte auf die Bindestriche -- die Auswahl oben ist nicht schuld." Das war am 20.09.2026 richtig. Dort gab es den STILLEN ZUGANG: Die rechte Hand und die Modis kamen ueber die Codekennung herein, egal welche Kachel sie antippten. Der Satz „Stimmt die Auswahl oben?" haette sie in eine Schleife geschickt -- alle Kacheln durchprobieren, acht Fehlversuche, Adresse gesperrt. Ein Hinweis, der die Sperre herbeifuehrt, gegen die er helfen soll. Mit VanVans ERSTER Runde derselben Meldung ist der stille Zugang weggefallen („es soll fest sein"). Nachgemessen in workspace.js: Die Kandidaten kommen seither aus `WHERE rolle = ?`, auf beiden Waenden. Die Kachel entscheidet ueberall -- und der Satz sagte ab diesem Tag das Gegenteil der Wahrheit, genau an der Stelle, an der jemand feststeckt. DAS IST DIE SORTE FEHLER, DIE EIN UMBAU HINTERLAESST: Nicht der neue Code war falsch, sondern ein Satz drei Dateien weiter, dessen Voraussetzung er entfernt hat. Er stand sogar ausfuehrlich begruendet da -- und die Begruendung las sich beim Umbau wie eine Bestaetigung, weil sie von einem Zustand sprach, den es nicht mehr gab. Gefunden hat ihn kein Prueflauf, sondern VanVan beim Benutzen. GEAENDERT: Ein Satz fuer beide Waende. Die Fallunterscheidung nach Wand ist weg -- es gibt nur noch eine Regel, also auch nur noch eine Auskunft. Der Hinweis auf die Bindestriche bleibt; er galt nie nur fuer eine Wand. „Zugangscode stimmt nicht. Stimmt die Auswahl oben? Ein Code gehört immer zu genau einer davon – und achte auf die Bindestriche." GEPRUEFT -- pruef-modi-verborgen 87 -> 94 ok Im echten Browser, beide Waende (crew-index.html und index.html), je zweimal mit einem falschen Code: · die Waende sind wirklich verschieden (gate--crew true/false) · „nicht schuld" steht nirgends mehr · stattdessen die Frage nach der Auswahl -- die dort seit dem 01.10. wirklich gilt (Abschnitt 1 derselben Datei misst das) · derselbe Satz auf beiden Waenden · Gegenprobe: nach dem ERSTEN Versuch steht er noch nicht da, dort steht die kurze Absage. Ein Hinweis, der immer kommt, waere keiner. DIE VERSUCHSSPERRE WIRD VOR DER MESSUNG GELEERT. Acht Fehlversuche je Adresse in zehn Minuten -- die Abschnitte davor verbrauchen welche, und ab dem neunten stuende „Zu viele Versuche" statt des Satzes. Das waere ein roter Haken ueber die Messumgebung gewesen, nicht ueber das Programm. Dazu: pruef-struktur 102 ok. BEIDE HAEUSER BETROFFEN, und das ist hier richtig: Es ist dieselbe Anmeldung mit derselben Regel. Nachgewiesen wird genau das -- der Satz ist auf beiden Waenden derselbe, und er stimmt auf beiden. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -702,6 +702,100 @@ console.log("\n=== 8. Aufgaben, Einträge und Dateien eines Modis ===\n");
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------- 8b. Was nach zwei Fehlversuchen dasteht -------------------
|
||||
=====================================================================
|
||||
|
||||
VanVan im Support, Meldung #5, zweite Runde: „Man kann sich jetzt
|
||||
nur noch über die richtige Schaltfläche anmelden. Das funktioniert
|
||||
jetzt. Aber wenn man sich 2x versucht über den falschen Button
|
||||
anzumelden, dann kommt ein irreführender Text wo steht, dass die
|
||||
Auswahl oben nicht schuld ist."
|
||||
|
||||
DER SATZ WAR EINMAL RICHTIG. Auf der Crew-Wand gab es den stillen
|
||||
Zugang; dort entschied die Kachel wirklich nicht, und wer alle
|
||||
durchprobierte, sperrte sich nur selbst aus. Mit Abschnitt 1 oben
|
||||
ist dieser Weg weggefallen -- und ab da sagte der Satz auf der
|
||||
Wand, auf der jemand gerade feststeckt, das Gegenteil der Wahrheit.
|
||||
|
||||
GEPRUEFT WIRD BEIDES ZUSAMMEN: dass die Kachel wirklich entscheidet
|
||||
(Abschnitt 1) UND dass der Satz das sagt. Eines ohne das andere
|
||||
waere wieder die Lage von gestern.
|
||||
|
||||
DIE SPERRE WIRD VORHER GELEERT. Acht Fehlversuche je Adresse in
|
||||
zehn Minuten -- die Abschnitte davor verbrauchen welche, und ab
|
||||
dem neunten steht „Zu viele Versuche" statt des Satzes, um den es
|
||||
hier geht. Das waere ein roter Haken ueber die Messumgebung, nicht
|
||||
ueber das Programm. Gemessen werden soll der Hinweis, nicht die
|
||||
Bremse.
|
||||
-------------------------------------------------------------------- */
|
||||
console.log("\n=== 8b. Der Hinweis nach zwei Fehlversuchen ===\n");
|
||||
{
|
||||
const { chromium } = await import(
|
||||
"file:///C:/Users/qciga/Documents/Obelix/Analyse/node_modules/playwright/index.mjs");
|
||||
const browser = await chromium.launch();
|
||||
try {
|
||||
const satzVon = async (wand) => {
|
||||
/* Die Sperre je Lauf zuruecksetzen -- siehe oben. */
|
||||
const dx = new DatabaseSync(process.env.WORKSPACE_DB);
|
||||
dx.exec("DELETE FROM versuche");
|
||||
dx.close();
|
||||
|
||||
const kontext = await browser.newContext({
|
||||
viewport: { width: 390, height: 844 }, hasTouch: true, isMobile: true });
|
||||
const seite = await kontext.newPage();
|
||||
const konsole = [];
|
||||
seite.on("pageerror", (e) => konsole.push("Absturz: " + e.message));
|
||||
await seite.goto(`${BASIS}/workspace/${wand}`, { waitUntil: "domcontentloaded" });
|
||||
await seite.waitForTimeout(400);
|
||||
/* Irgendeine Kachel und ein Code, der zu keiner gehoert. */
|
||||
await seite.click(".rolle >> nth=0");
|
||||
const raus = [];
|
||||
for (const n of [1, 2]) {
|
||||
await seite.fill("#code", `FALSCH-CODE-000${n}`);
|
||||
await seite.click("button[type=submit]");
|
||||
await seite.waitForTimeout(900);
|
||||
raus.push((await seite.textContent("#fehler") || "").replace(/\s+/g, " ").trim());
|
||||
}
|
||||
const crewKlasse = await seite.evaluate(() =>
|
||||
document.body.classList.contains("gate--crew"));
|
||||
await kontext.close();
|
||||
return { nach1: raus[0], nach2: raus[1], crewKlasse, konsole };
|
||||
};
|
||||
|
||||
const crew = await satzVon("crew-index.html");
|
||||
const agentur = await satzVon("index.html");
|
||||
|
||||
ok(crew.crewKlasse === true && agentur.crewKlasse === false,
|
||||
`zwei verschiedene Waende gemessen (crew ${crew.crewKlasse}, `
|
||||
+ `agentur ${agentur.crewKlasse})`);
|
||||
|
||||
/* DER EIGENTLICHE BEFUND: Der alte Satz ist weg. */
|
||||
ok(!/nicht schuld/i.test(crew.nach2),
|
||||
`auf der Crew-Wand steht nicht mehr „die Auswahl oben ist nicht schuld" `
|
||||
+ `(„${crew.nach2}")`);
|
||||
ok(/Auswahl oben/.test(crew.nach2),
|
||||
"sondern die Frage nach der Auswahl -- die dort seit Abschnitt 1 wirklich gilt");
|
||||
/* EIN SATZ FUER BEIDE WAENDE. Zwei verschiedene waeren wieder zwei
|
||||
Antworten auf dieselbe Frage, und eine davon veraltet. */
|
||||
ok(crew.nach2 === agentur.nach2,
|
||||
`und es ist derselbe Satz wie auf der Agenturwand (${crew.nach2 === agentur.nach2})`);
|
||||
|
||||
/* GEGENPROBE: Nach dem ERSTEN Fehlversuch steht der Hinweis noch
|
||||
NICHT da. Ohne sie waere „der Hinweis kommt" auch dann gruen,
|
||||
wenn er immer kaeme -- und ein Hinweis, der immer kommt, ist
|
||||
keiner. */
|
||||
ok(!/Auswahl oben/.test(crew.nach1),
|
||||
`Gegenprobe: nach dem ersten Versuch steht er noch nicht da („${crew.nach1}")`);
|
||||
ok(crew.nach1.length > 0 && /stimmt nicht/i.test(crew.nach1),
|
||||
` dort steht die kurze Absage („${crew.nach1}")`);
|
||||
|
||||
ok(crew.konsole.length === 0 && agentur.konsole.length === 0,
|
||||
`kein Skriptfehler auf beiden Waenden (${crew.konsole[0] || agentur.konsole[0] || "keiner"})`);
|
||||
} finally {
|
||||
await browser.close();
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------- 9. Die Gegenprobe ----------------------------------------
|
||||
Sie steht ABSICHTLICH GANZ UNTEN: Sie haengt eine Person
|
||||
absichtlich aus der Regel aus. Lief sie weiter oben, tauchte
|
||||
|
||||
Reference in New Issue
Block a user