Der Raumname heilt sich -- und jetzt steht die Gegenprobe dafuer

Nach dem Ausliefern am echten Server nachgesehen: Die Zeile in der
Datenbank hiess weiter "Der Treff". Kein Fehler -- treffAngleichen()
laeuft beim Abrufen der Gespraechsliste, und seit dem Neustart hatte
noch niemand den Chat offen. Sie heilt sich beim ersten Aufruf, und
zwar VOR dem Auslesen der Liste: Der Erste, der hinsieht, sieht schon
den neuen Namen.

Nur war das bis eben eine Herleitung und keine Messung.

pruef-erwaehnung traegt den alten Namen jetzt absichtlich wieder ein,
BEVOR die Gespraechsliste geladen wird, und prueft danach, dass er
weg ist. Ohne diesen Schritt waere die Zeile auch dann gruen, wenn
der Abgleich den Namen gar nicht anfasst -- der Raum wird im Test ja
neu angelegt und traegt den richtigen Namen von Anfang an. Genau so
sieht eine Pruefung aus, die immer bestaetigt.

pruef-erwaehnung: 123 (vorher 122).

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-23 14:31:45 +02:00
co-authored by Claude Opus 5
parent 7a6749630c
commit 1851d447c3
+27
View File
@@ -962,12 +962,39 @@ melde("\n" + "=== 7. Der Ruf ans Rudel geht durch die Tür ===");
ok(!!aModi.keks && !!aLinke.keks && !!aGast.keks,
`Modi, linke Hand und ein Gast sind angemeldet (${aModi.code}/${aLinke.code}/${aGast.code})`);
/* DER RAUM HEISST FALSCH -- ABSICHTLICH, ALS GEGENPROBE.
Am 23.09.2026 stand im Code laengst "Das Rudel", in der
Gespraechsliste aber weiter "Der Treff": treffRaumId() setzt den
Namen nur BEIM ANLEGEN, und der Raum existierte schon. Niemandem
faellt so etwas auf -- gemeldet hat es Filipe, nach Tagen.
Seitdem gleicht treffAngleichen() den Namen mit ab. Damit diese
Zeile etwas beweist und nicht nur bestaetigt, wird der alte Name
hier VORHER wieder eingetragen. Faende der Abgleich ihn nicht,
bliebe er stehen, und die Pruefung darunter wuerde rot. */
{
const vor = new DatabaseSync(process.env.WORKSPACE_DB);
vor.prepare("UPDATE chat_raeume SET name = 'Der Treff' WHERE art = 'kanal' AND kategorie = 'treff'").run();
vor.close();
}
/* DER TREFF FUELLT SICH, WENN MAN IHN AUFMACHT. treffAngleichen()
laeuft beim Abrufen der Gespraechsliste -- also einmal je Zugang. */
for (const k of [aModi.keks, aLinke.keks, aGast.keks]) {
await crewRuf("/workspace/api/chat/raeume", k);
}
{
const nach = new DatabaseSync(process.env.WORKSPACE_DB, { readOnly: true });
const heisst = nach.prepare(
"SELECT name FROM chat_raeume WHERE art = 'kanal' AND kategorie = 'treff'").get()?.name;
nach.close();
const { TREFF_NAME } = await import("./workspace-treffchat.js");
ok(heisst === TREFF_NAME,
`der Raumname gleicht sich von selbst an ("Der Treff" -> "${heisst}")`);
}
const drin = new DatabaseSync(process.env.WORKSPACE_DB);
const treff = drin.prepare(
"SELECT id FROM chat_raeume WHERE art = 'kanal' AND kategorie = ?").get("treff")?.id;