screen5: Aus dem Treff wird das Rudel, aus der Zentrale die IrrenAnstalt
Filipe, 22.09.2026: "ersetze die zentrale durch, Die IrrenAnstalt.
genau so geschrieben bitte. und alles was treff heißt oder wo treff
steht soll durch Rudel ersetzt werden bitte."
Die Schreibweise "IrrenAnstalt" mit grossem A in der Mitte ist so
gewollt. Das steht als Hinweis daneben, damit sie beim naechsten Mal
niemand "korrigiert".
WAS UMBENANNT WURDE: alles, was jemand LIEST -- Kachelnamen,
Ueberschriften, Markenzeilen, Saetze, Meldungen, Aufgabenvorlagen.
116 Zeilen in 42 Dateien.
WAS BLEIBT: Adressen (treff-regeln.html), Bezeichner (TREFF_ROLLEN),
Datenbankwerte (bereich = 'treff'), Abfrageteile (b=treff). Eine
Adresse umzubenennen bricht jedes Lesezeichen, und ein Datenbankwert
umzuschreiben waere eine Umstellung ohne Gegenwert. Dieselbe
Entscheidung wie heute frueh bei Dogi-Media, wo material.html auch
material.html geblieben ist.
DREI GRAMMATIKFEHLER IM EIGENEN ENTWURF, alle vor dem Ausliefern
gefunden -- ein blindes Ersetzen reicht hier nicht:
1. "der Treff" ist maennlich, "das Rudel" saechlich. Ohne Tabelle
waere ueberall "Der Rudel" gestanden. (Und "Treffer" waere zu
"Rudeler" geworden, "Treffen" zu "Rudelen" -- deshalb greift die
Regel nur bei Wortgrenze und nie vor einem Kleinbuchstaben.)
2. BINDESTRICH-ZUSAMMENSETZUNGEN. In "der Treff-Chat" gehoert der
Artikel zu "Chat", nicht zu "Treff". Der erste Durchlauf machte
daraus "das Rudel-Chat", "das Rudel-Kacheln" und "ein Rudel-Raum".
Jetzt greift die Artikelregel nur, wenn das Wort allein steht.
3. GESCHUETZTE LEERZEICHEN. In den Markenzeilen steht
`Der Treff`, damit die zwei Woerter nicht umbrechen. Das
Muster hat daran vorbeigegriffen: "Der Rudel", auf fuenf
Seiten. Jetzt wird das Trennzeichen mitgefasst und unveraendert
wieder eingesetzt.
Gefunden wurden alle drei, weil jede einzelne der 116 Zeilen vor dem
Schreiben als ALT/NEU ausgegeben und gelesen wurde -- und danach
gezielt nach falschen Artikeln gesucht ("den Rudel", "der Rudel",
"einen Rudel"). Uebrig blieben sechs Treffer, und die sind alle
richtig: "einen Rudel-Raum", "der Rudel-Chat", "den Rudel-Regeln" --
Zusammensetzungen, bei denen der Artikel zum letzten Wort gehoert.
UND ZWEI PRUEFUNGEN, die die Umbenennung nicht mitbekommen haetten:
`/Treff/.test(...)` und `/Treff/i.test(...)`. Ein regulaerer Ausdruck
ist keine Zeichenkette -- sie haetten ab sofort nach einem Wort
gesucht, das die Seite nicht mehr sagt, und waeren still rot geworden,
ohne dass etwas kaputt ist.
Geprueft, alle gruen: pruef-treff, pruef-treffchat,
pruef-deutsche-texte, pruef-uebernahme, pruef-crew-adresse,
pruef-willkommen, pruef-wege-nach-draussen, pruef-vorlagen,
pruef-start-ansicht, pruef-struktur.
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -98,7 +98,7 @@ let idDogi, idLuna, idIdee, idTreff, idIdeeHoch;
|
||||
jetzt.slice(0, 10), "hoch", null, jetzt, idDogi);
|
||||
idIdeeHoch = d.prepare("SELECT last_insert_rowid() AS id").get().id;
|
||||
d.prepare(`INSERT INTO eintraege (bereich, art, titel, text, datum, erstellt, erstellt_von)
|
||||
VALUES ('treff','hallo','Beitrag aus dem Treff','Hallo zusammen',?,?,?)`)
|
||||
VALUES ('treff','hallo','Beitrag aus dem Rudel','Hallo zusammen',?,?,?)`)
|
||||
.run(jetzt.slice(0, 10), jetzt, idDogi);
|
||||
idTreff = d.prepare("SELECT last_insert_rowid() AS id").get().id;
|
||||
d.close();
|
||||
@@ -144,7 +144,7 @@ melde("=== 1. Aus welchen Brettern ===");
|
||||
|
||||
/* DIE TREFF-BRETTER STEHEN NICHT DRIN, und das ist der Punkt. */
|
||||
const treffBretter = TREFF_BRETTER.filter((b) => echte.includes(b));
|
||||
ok(treffBretter.length > 0, `${treffBretter.length} Bretter gehören dem Treff`);
|
||||
ok(treffBretter.length > 0, `${treffBretter.length} Bretter gehören dem Rudel`);
|
||||
const drin = treffBretter.filter((b) => modul.AUS_BRETTERN.includes(b));
|
||||
ok(drin.length === 0,
|
||||
drin.length ? `TREFF-BRETT DABEI: ${drin.join(", ")}`
|
||||
@@ -210,11 +210,11 @@ melde("=== 3. Genau einmal ===");
|
||||
4. NICHT AUS JEDEM BRETT
|
||||
======================================================================= */
|
||||
melde("");
|
||||
melde("=== 4. Nicht aus dem Treff ===");
|
||||
melde("=== 4. Nicht aus dem Rudel ===");
|
||||
{
|
||||
const a = await ruf(`/workspace/api/eintrag/${idTreff}/zur-aufgabe`, HAUS, "POST",
|
||||
{ cookie: kDogi }, {});
|
||||
ok(a.code === 400, `aus einem Treff-Beitrag wird keine Aufgabe (${a.code})`);
|
||||
ok(a.code === 400, `aus einem Rudel-Beitrag wird keine Aufgabe (${a.code})`);
|
||||
ok(/keine Aufgabe/.test(json(a).fehler || ""), `und die Absage sagt warum (${json(a).fehler})`);
|
||||
|
||||
const d = oeffne();
|
||||
@@ -267,7 +267,7 @@ melde("=== 6. Die Liste am Brett ===");
|
||||
/* GEGENPROBE: Ein Treff-Brett sagt „nicht moeglich" -- daran
|
||||
entscheidet die Oberflaeche, ob der Knopf ueberhaupt hingehoert. */
|
||||
const treff = json(await ruf("/workspace/api/bereich/treff/uebernahmen", HAUS, "GET", { cookie: kDogi }));
|
||||
ok(treff.moeglich === false, "ein Treff-Brett kennt keine");
|
||||
ok(treff.moeglich === false, "ein Rudel-Brett kennt keine");
|
||||
ok(Object.keys(treff.uebernahmen || {}).length === 0, "und liefert auch keine");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user