Der Treff zieht in Team Dogi ein — die dritte Adresse ist wieder weg
Filipe, nachdem er die dritte Wand gesehen hatte: "das soll keine app für sich sein, dass soll in der crew seite adaptiert werden, da rein perfektionniert." WAS VERSCHWINDET: treff.dogfather-universe.com samt Weiche (treff-adresse.js), Zugangswand, Manifest und acht Bühnenbildern. Kein DNS-Eintrag, kein zweiter Caddy-Block, kein zweites App-Symbol. Die Gründe, die DAFÜR sprachen, stehen jetzt als Kommentar in crew-adresse.js statt als Code -- sie gelten weiter, und beim nächsten Mal wird jemand dieselbe Idee haben: eine App je Ursprung, und ein Schloss mehr zwischen der Community und den Daten der Agentur. WAS DER VERZICHT KOSTET, benannt statt übersehen: · Die Community steht vor derselben Wand wie das Team und liest dort die Namen der drei Team-Rollen. Filipes Entscheidung auf die Frage: vierte Kachel "Community" statt gar keiner Kacheln. · Ein Schloss weniger. Was vorher die Adresse getrennt hat, muss jetzt jede einzelne Regel halten -- deshalb prüft pruef-treff-werkzeuge seit heute zehn Dinge mehr (70 statt 60). EINE LÜCKE, DIE DABEI AUFGEFALLEN IST -- und die es schon vorher gab: Ein Mitglied der Community stand in der Auswahl, wen man zu einem Termin einlädt, wem man eine Aufgabe gibt und mit wem man einen Chat anfängt. Für DogFather bedeutet fast jede Liste "alle". Jetzt zu, über eine Hülle (ohneAussen) um die fünf Listen, die von Zusammenarbeit handeln -- damit sie auch für die Listen gilt, die es noch nicht gibt. Die Verwaltungsliste in "Personen & Zugänge" zeigt sie weiterhin, sonst legt er einen Zugang an und der verschwindet im selben Moment. DREI BEFUNDE AUS DEN PRÜFUNGEN, wieder keiner vom Lesen: · Mein eigener Kommentar auf der Wand nannte eine Rolle der Agentur -- in einer Datei, die jedes Community-Mitglied im Quelltext liest. Zum zweiten Mal an einem Tag, und zum zweiten Mal ausgerechnet in einem Kommentar, der erklärt, warum man das nicht tut. · Die Prüfung "der Satz nennt die Modis" durchsuchte den QUELLTEXT und wäre grün geblieben, obwohl der Satz auf dem Bildschirm längst ein anderer ist -- sie fand ihn in einem Kommentar. Sie misst jetzt die sichtbare Unterzeile. · Der erste Entwurf der Adressregel sperrte die Community auch auf localhost aus -- eine Bedingung durch AUSSCHLUSS, zum dritten Mal an einem Tag. Jede Zeile nennt jetzt die Adresse, FÜR DIE sie gilt. Und zwei feste Zahlen weniger: Die Kachelreihe wird nicht mehr gezählt, sondern beim Namen genannt (admin, hand, modi, gast) -- eine Zahl war dort schon zweimal rot, ohne dass etwas kaputt war. Der App-Name wird nicht nur geprüft, sondern der UNTERSCHIED zur Agenturadresse. Die App heißt auf crew. jetzt "DogFather Universe" statt "Team Dogi" -- sie gehört ab heute beiden (Entscheidung Filipe). Geprüft: rollen 312 · crew-adresse 132 · kalender 104 · sicht 84 · modi-verborgen 80 · chat-kanaele 79 · treff-werkzeuge 70 · haus-trennung 62 · treff 58 · chat 48 · treff-seiten 42 · bereiche-lesend 37 · start-ansicht 147 · css-klassen 30 · zwischenspeicher 21 · alle-wege 19 · rechtetafel 19 -- alles grün. Die 58 bei pruef-treff sind elf weniger als gestern: Mit der dritten Adresse fallen ihre 26 Weichen-Prüfungen weg, ersetzt durch 10 für die eine Wand plus die neuen in 7b. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -320,7 +320,22 @@ try { mc = JSON.parse(manifestCrew.text); } catch { /* bleibt leer */ }
|
||||
try { mw = JSON.parse(manifestWs.text); } catch { /* bleibt leer */ }
|
||||
ok(manifestCrew.status === 200 && manifestWs.status === 200,
|
||||
"beide Adressen liefern ein Manifest");
|
||||
ok(mc.name === "Team Dogi", `crew.: die App heisst "Team Dogi" (gelesen: ${mc.name || "?"})`);
|
||||
/* DER NAME GILT SEIT DEM 11.09.2026 FUER BEIDE (Entscheidung Filipe).
|
||||
|
||||
Er hiess "Team Dogi". Seit der Treff hier wohnt, wuerde ein Mitglied
|
||||
der Community diesen Namen auf seinem Startbildschirm haben -- den
|
||||
Namen eines Bereichs, zu dem es nicht gehoert. Das Manifest gilt je
|
||||
ADRESSE und kann sich nicht nach der Rolle richten; also einer, der
|
||||
fuer beide stimmt.
|
||||
|
||||
GEPRUEFT WIRD NICHT NUR DER NAME, SONDERN DER UNTERSCHIED. Ein
|
||||
fester Name allein waere beim naechsten Umbenennen wieder rot, ohne
|
||||
dass etwas kaputt ist. Dass die beiden Adressen sich UNTERSCHEIDEN,
|
||||
ist die Eigenschaft, um die es geht -- sonst waere es eine App. */
|
||||
ok(mc.name === "DogFather Universe",
|
||||
`crew.: die App heisst "DogFather Universe" (gelesen: ${mc.name || "?"})`);
|
||||
ok(mc.name && mw.name && mc.name !== mw.name,
|
||||
`und anders als auf der Agenturadresse ("${mw.name}")`);
|
||||
ok(mw.name === "Creator Workspace — Spicy & Dogi",
|
||||
`workspace.: dort heisst sie unveraendert (gelesen: ${mw.name || "?"})`);
|
||||
ok(Array.isArray(mc.icons) && mc.icons.length > 0
|
||||
@@ -367,13 +382,43 @@ ok(/Team Dogi|Team Dogi/.test(wandCrew.text), "crew.: dort steht Team Dogi"
|
||||
ok(/DogFather/.test(wandCrew.text), "crew.: und DogFather daneben");
|
||||
ok(!/Spicy/i.test(wandCrew.text), "crew.: von Spicy Media steht dort nichts mehr");
|
||||
ok(!/Creator/i.test(wandCrew.text), "crew.: und vom Creator Workspace auch nicht");
|
||||
ok(/die Modis/.test(wandCrew.text), "crew.: der Satz nennt DogFather und die Modis");
|
||||
/* DER SATZ AUF DER WAND MUSS FUER BEIDE STIMMEN (11.09.2026).
|
||||
|
||||
/* Die Kachelreihe ist weg -- auf einer Adresse mit genau einer Sorte
|
||||
Zugang waere sie eine Bedienhuerde, keine Auswahl. */
|
||||
Hier stand `/die Modis/` -- und der Satz lautete "Privater Bereich
|
||||
fuer DogFather und die Modis". Seit die Community durch dieselbe Wand
|
||||
kommt, liest sie ihn auch, und fuer sie ist er schlicht falsch.
|
||||
|
||||
UND DIE ALTE PRUEFUNG WAERE TROTZDEM GRUEN GEBLIEBEN: Sie durchsuchte
|
||||
den QUELLTEXT, und dort steht "die Modis" weiterhin in einem
|
||||
Kommentar. Sie haette also bestaetigt, dass ein Satz dasteht, den es
|
||||
auf dem Bildschirm gar nicht mehr gibt. Gemessen wird deshalb die
|
||||
sichtbare Unterzeile, nicht die Datei. */
|
||||
{
|
||||
const unter = /<p class="unterzeile">([^<]*)<\/p>/.exec(wandCrew.text)?.[1] || "";
|
||||
ok(/Team\s*Dogi/.test(unter) && /Treff/.test(unter),
|
||||
`crew.: die Unterzeile nennt Team Dogi und den Treff ("${unter.trim()}")`);
|
||||
ok(!/Arbeitsbereich/.test(unter),
|
||||
"und behauptet nicht mehr, das hier sei nur zum Arbeiten");
|
||||
}
|
||||
|
||||
/* DIE KACHELREIHE HAT SEIT DEM 11.09.2026 VIER EINTRAEGE.
|
||||
|
||||
Die Geschichte dieser Zeile ist lehrreich und steht deshalb hier:
|
||||
Erst gab es keine Kachelreihe (eine Sorte Zugang, eine Reihe waere
|
||||
eine Huerde gewesen). Dann drei ("3 rollen. dogfather. rechte hand
|
||||
und modis"). Jetzt vier, weil der Treff hier eingezogen ist.
|
||||
|
||||
GEPRUEFT WIRD NICHT DIE ZAHL, SONDERN WELCHE. Eine Zahl war schon
|
||||
zweimal rot, ohne dass etwas kaputt war. Die NAMEN dagegen sagen
|
||||
etwas: Steht dort eines Tages "manager", ist das ein Befund und kein
|
||||
Umbau. */
|
||||
const rollenAufWand = [...wandCrew.text.matchAll(/data-rolle="([a-z]+)"/g)].map((m) => m[1]);
|
||||
ok(JSON.stringify(rollenAufWand) === JSON.stringify(["admin", "hand", "modi", "gast"]),
|
||||
`crew.: die vier Kacheln in dieser Reihenfolge (${rollenAufWand.join(", ")})`);
|
||||
const kachelnCrew = (wandCrew.text.match(/class="rolle"/g) || []).length;
|
||||
const kachelnWs = (wandWs.text.match(/class="rolle"/g) || []).length;
|
||||
ok(kachelnCrew === 3, `crew.: drei Rollenkacheln (gezaehlt: ${kachelnCrew})`);
|
||||
ok(kachelnCrew === rollenAufWand.length,
|
||||
`crew.: ${kachelnCrew} Rollenkacheln -- so viele, wie es Rollen auf der Wand gibt`);
|
||||
for (const [rolle, name] of [["admin", "DogFather"], ["hand", "Rechte Hand"], ["modi", "Modi"]]) {
|
||||
ok(wandCrew.text.includes(`data-rolle="${rolle}"`) && wandCrew.text.includes(`>${name}<`),
|
||||
`crew.: die Kachel "${name}" steht da`);
|
||||
|
||||
Reference in New Issue
Block a user