SECHS SACHEN, UND KEINE DAVON WAR DAS, WONACH ICH GESUCHT HABE. 1. ZWEI NATIVE prompt() IN teamlage.js -- die letzten im Haus. Sie halten die ganze Seite an, sehen auf jedem Browser anders aus als der Rest und koennen nicht sagen, was BLEIBT, wenn man absagt. Genau das ist dort die Frage, die jemand vor dem Klicken hat. Jetzt derselbe Dialog wie an den 42 anderen Stellen. 2. UND DER GRUND, WARUM SIE NIEMAND GEFUNDEN HAT. pruef-nachfrage suchte mit `(?:^|[^.\w])(confirm|prompt)\s*\(`. Das `[^.\w]` sollte fremde Methoden ausschliessen -- `angebot .prompt()` ist die Installations-Aufforderung des Browsers und kein nativer Dialog. Nur trifft dieser Ausschluss ausgerechnet die HAEUFIGSTE Schreibweise: `window.prompt(` hat einen Punkt davor. Die Pruefung war gruen, waehrend zwei native prompt() dastanden. Genau das Muster, vor dem dieses Haus warnt: eine Pruefung, die laeuft, gruen ist und das Falsche prueft. Die Gegenprobe kennt jetzt beide Schreibweisen -- haette sie das vorher getan, waere es am selben Tag aufgefallen. 3. willkommen.html LUD nachfrage.js NICHT. Gefunden von der geschaerften Pruefung. kopf.js ruft `frageNach(` ohne Absicherung -- auf dieser einen Seite haette ABMELDEN einen Absturz ausgeloest. Die Seite ist vom 21.09., die Luecke also einen Tag alt. 4. ZWEI FEHLALARME IM HANDY-RUNDGANG ABGESTELLT. Er meldete bei JEDEM Lauf dieselben drei Befunde: `button.schnitt bis 481px`, die Rechtetafel `table bis 877px`, `a.k-pille 8x8`. Nachgemessen bei 390 px: Das Dokument ist exakt 390 px breit, NICHTS laeuft ueber -- beide stehen in einem Kasten mit `overflow-x: auto`, und der rollt absichtlich. Die Kalenderpunkte tragen `pointer-events: none`; der Tipp gehoert der Tageszelle. Eine Warnung, die immer kommt, ist keine Warnung mehr (Hausregel vom 03.09.). Beide Regeln sind SCHMAL: nur ausdrueckliches `overflow-x: auto|scroll` (nicht `hidden` -- dort ist der Inhalt wirklich weg), nur ausdrueckliches `pointer-events: none`. Die Gegenprobe hat jetzt vier Faelle statt zwei: zwei, die gemeldet werden MUESSEN, und zwei, die es NICHT duerfen. Eine engere Messung kann auch zu eng sein. 5. DER LETZTE ECHTE BEFUND: 404 BEI JEDEM MODI. Der Rundgang meldete "404 (Not Found)" ohne Adresse -- eine Pruefung, die einen Fehler findet, ihn aber nicht auffindbar macht, kostet mehr Zeit als sie spart. Sie nennt jetzt die Adresse, und damit war es in einer Minute klar: `/workspace/api/werdegang/liste`. Der Code BEHANDELTE den 404 richtig, der Browser protokolliert ihn trotzdem -- derselbe Fall wie am 19.09. bei /anruf/adressen. Jetzt sagt der Server in /api/ich, ob jemand Team Dogi fuehrt. EIGENES FELD, kein Stellvertreter: `darf_verteilen` sieht aehnlich aus, ist aber nicht dasselbe -- ein Manager darf verteilen und fuehrt Team Dogi nicht. Dabei EINE Wartestelle statt zwei: `window.wennIchDaBin()`. `window.__ich` kommt ueber das Netz; zwei Seiten hatten dafuer jeweils ein eigenes setInterval. Zwei Fassungen desselben Wartens altern unterschiedlich. 6. pruef-werdegang MASS AUF DER FALSCHEN ADRESSE. Drei Pruefungen waren dauerhaft rot (`data-ton=null`) -- an einer Seite, die in Ordnung ist. Sie oeffnete `127.0.0.1`, also die Adresse der AGENTUR; dort ist `person.haus` nicht "crew" und die Kachelliste eine andere. Nachgemessen: Alle vier Rollen HABEN die Kachel, sobald das Haus stimmt. Jetzt derselbe https-Vorbau wie in pruef-willkommen und pruef-zuteilung. Beinahe haette ich hier etwas "repariert", das nicht kaputt war: Meine erste Messung rief `bereicheFuer(p, "crew")` auf -- das Haus wird aber aus `person.haus` gelesen, nicht als Argument. Sie sagte "DogFather hat keine Kachel". Eine plausible Herleitung ersetzt keine Messung, und eine falsch aufgesetzte Messung auch nicht. GEMESSEN: pruef-handy-teamdogi 214 Seitenaufrufe, 108.564 Elemente, 4.126 Bedienelemente -- 0 Befunde. Alle vier Rollen, beide Breiten. Zum ersten Mal. pruef-werdegang 103/0 (war 100/3), pruef-nachfrage 51/0 (war 49), pruef-stelle 15/0, pruef-entwicklung 48/0, pruef-start-ansicht 153/0, pruef-wege-nach-draussen 67/0, pruef-tippziele 11/0, pruef-treff 80/0, pruef-willkommen 67/0, pruef-sackgassen 13/0. Co-Authored-By: Claude Opus 5 <[email protected]>
232 lines
10 KiB
HTML
232 lines
10 KiB
HTML
<!doctype html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||
<title>Die Regeln · Der Treff</title>
|
||
<meta name="robots" content="noindex, nofollow" />
|
||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||
<meta name="theme-color" content="#06090f" />
|
||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609221014" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609221014" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202609221014" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202609221014" />
|
||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609221014" />
|
||
<link rel="stylesheet" href="assets/css/treff.css?v=202609221014" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202609221014" />
|
||
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
|
||
Treffs biegt der Server genau diesen Dateinamen auf crew-haus.css
|
||
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
|
||
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202609221014" />
|
||
</head>
|
||
|
||
<body class="start">
|
||
|
||
<div class="schleier" aria-hidden="true"></div>
|
||
|
||
<header class="kopfleiste">
|
||
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
|
||
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M14.5 5.5 8 12l6.5 6.5" />
|
||
</svg>
|
||
<span class="zurueck-knopf__text">Zurück</span>
|
||
</button>
|
||
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Der Treff</a> · Regeln</span></p>
|
||
<div class="kopfleiste__rechts">
|
||
<span class="wer" id="wer">…</span>
|
||
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="inhalt">
|
||
|
||
<section class="kopf-zeile">
|
||
<div>
|
||
<p class="marke">Der Treff</p>
|
||
<!-- HIESS BIS ZUM 18.09.2026 „Regeln & Hilfe" -- genau wie das
|
||
BRETT, auf das der Absatz weiter unten verweist. Auf dem
|
||
Brett stand damit ein Link „Regeln & Hilfe", der auf eine
|
||
Seite namens „Regeln & Hilfe" fuehrte; wer ihn drueckte,
|
||
glaubte, im Kreis gelaufen zu sein.
|
||
|
||
Die beiden sind verschiedene Dinge: Hier stehen die fuenf
|
||
Regeln, kurz und fest. Das Brett sammelt daneben haeufige
|
||
Fragen, Hilfe und was im Einzelfall passiert. Zwei Namen
|
||
fuer zwei Sachen. -->
|
||
<h1 class="titel">Die Regeln</h1>
|
||
<p class="unterzeile">
|
||
Kurz, in normaler Sprache, und alles, was hier steht, gilt auch.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
|
||
|
||
<!-- ==================================================================
|
||
WARUM DER TEXT HIER STEHT UND DIE ZAHLEN NICHT
|
||
|
||
Die Saetze sind Text und gehoeren in eine Datei. Die ZAHLEN
|
||
darin (sieben Tage, dreissig Tage, drei Beitraege, drei
|
||
Anschlaege, 18 Jahre) kommen vom Server -- sie stehen im Code,
|
||
und ein Regeltext, der eine andere Zahl nennt als die Regel, ist
|
||
schlimmer als gar keiner: Niemand merkt es, und wer es merkt,
|
||
glaubt dem Text.
|
||
|
||
Die Platzhalter tragen deshalb "…" als Vorgabe. Kommt die
|
||
Antwort nicht, steht dort sichtbar nichts -- und nicht
|
||
versehentlich eine Zahl von gestern.
|
||
============================================================== -->
|
||
<section class="treff-abschnitt" id="willkommen">
|
||
<h2 class="treff-abschnitt__titel">Schön, dass du da bist</h2>
|
||
<div class="treff-abschnitt__inhalt">
|
||
<p>
|
||
Der Treff ist der Ort rund um DogFather: Hier steht, was gerade gilt,
|
||
was ansteht, und hier redet ihr miteinander. Er ist nicht öffentlich –
|
||
du bist hier, weil dir jemand einen Code gegeben hat.
|
||
</p>
|
||
<p class="leise">
|
||
Gib diesen Code nicht weiter. Er gehört zu dir, und was damit
|
||
geschrieben wird, steht unter deinem Namen.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="treff-abschnitt">
|
||
<h2 class="treff-abschnitt__titel">Die fünf Regeln</h2>
|
||
<div class="treff-abschnitt__inhalt">
|
||
<ol class="regel-liste">
|
||
<li><strong>Sei anständig.</strong> Keine Beleidigungen, keine Angriffe
|
||
auf Menschen, keine Hetze. Streiten über eine Sache ist in Ordnung –
|
||
über einen Menschen nicht.</li>
|
||
<li><strong>Keine privaten Daten.</strong> Keine Adressen, keine
|
||
Telefonnummern, keine Klarnamen von anderen. Auch nicht von dir
|
||
selbst, es liest mehr mit, als du denkst.</li>
|
||
<li><strong>Nichts Fremdes hochladen.</strong> Was du einstellst, muss
|
||
von dir sein oder dir gehören.</li>
|
||
<li><strong>Keine Werbung, kein Verkauf.</strong> Auch nicht für
|
||
andere Streams.</li>
|
||
<li><strong>Was hier passiert, bleibt hier.</strong> Keine
|
||
Bildschirmfotos nach draußen.</li>
|
||
</ol>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="treff-abschnitt">
|
||
<h2 class="treff-abschnitt__titel">Wie du weiterkommst</h2>
|
||
<div class="treff-abschnitt__inhalt">
|
||
<p>
|
||
In der ersten Zeit kannst du lesen und bei Wünschen mitstimmen.
|
||
Das ist kein Misstrauen gegen dich – es ist eines gegen
|
||
Wegwerf-Zugänge.
|
||
</p>
|
||
<ul class="regel-liste" id="stufen">
|
||
<li class="leise">wird geladen …</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="treff-abschnitt">
|
||
<h2 class="treff-abschnitt__titel">Wenn etwas nicht stimmt</h2>
|
||
<div class="treff-abschnitt__inhalt">
|
||
<p>
|
||
An jedem Beitrag, der nicht von dir ist, steht <strong>melden</strong>.
|
||
Schreib in einem Satz, was daran nicht in Ordnung ist – ohne das
|
||
können wir es nicht prüfen.
|
||
</p>
|
||
<p>
|
||
Wir sehen uns jede Meldung an. Wird ein Beitrag entfernt, halten wir
|
||
fest, <strong>warum</strong> – und die Person, die ihn geschrieben hat,
|
||
erfährt den Grund. Das ist keine Höflichkeit, sondern
|
||
<span class="leise">Artikel 17 des Digital Services Act</span>.
|
||
</p>
|
||
<p class="leise" id="kontakt">
|
||
Du erreichst uns außerdem direkt: Schreib es auf das Brett
|
||
<a href="bereich.html?b=treff">Der Treff</a> oder sag es <span
|
||
id="kontakt-wem">jemandem aus dem Team</span>.
|
||
</p>
|
||
<p class="leise">
|
||
Häufige Fragen und Antworten stehen auf dem Brett
|
||
<a href="bereich.html?b=regeln">Regeln & Hilfe</a>.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="treff-abschnitt">
|
||
<h2 class="treff-abschnitt__titel">Was passiert, wenn jemand sich nicht daran hält</h2>
|
||
<div class="treff-abschnitt__inhalt">
|
||
<p>Wir gehen der Reihe nach vor, und niemand fliegt ohne Ansage:</p>
|
||
<ol class="regel-liste">
|
||
<li><strong>Hinweis.</strong> Jemand sagt dir, was nicht ging.</li>
|
||
<li><strong>Pause.</strong> Ein paar Tage nichts schreiben. Lesen
|
||
geht weiter.</li>
|
||
<li><strong>Ende.</strong> Der Zugang wird geschlossen.</li>
|
||
</ol>
|
||
<p class="leise" id="ausschluss">…</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="treff-abschnitt">
|
||
<h2 class="treff-abschnitt__titel">Das Kleingedruckte – kurz</h2>
|
||
<div class="treff-abschnitt__inhalt">
|
||
<p id="alter">…</p>
|
||
<p>
|
||
<strong>Was gespeichert wird:</strong> dein Name, dein Zugangscode
|
||
(verschlüsselt, niemand kann ihn lesen), was du schreibst, und wann
|
||
du dich anmeldest. Mehr nicht – kein Standort, keine Werbe-IDs,
|
||
keine Weitergabe an Dritte.
|
||
</p>
|
||
<p>
|
||
<strong>Du willst weg?</strong> Sag Bescheid. Dein Zugang wird
|
||
geschlossen und deine Beiträge werden entfernt.
|
||
</p>
|
||
<p class="leise">
|
||
Der Treff ist ein kleiner, geschlossener Bereich. Es gibt keine
|
||
Direktnachrichten zwischen Mitgliedern – absichtlich: Ein
|
||
öffentlicher Raum lässt sich moderieren, ein privater nicht.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
|
||
<!-- ==== WAS IST ÜBER MICH GESPEICHERT? (15.09.2026) ==============
|
||
Art. 15 DSGVO. Kein Antrag, kein Formular, kein Warten – ein
|
||
Knopf. Er steht auf den beiden Seiten, die einem Menschen selbst
|
||
gehören: dem Steckbrief und den Treff-Regeln. Die Community hat
|
||
keinen Steckbrief; ohne die zweite Stelle hätte ausgerechnet die
|
||
Gruppe mit den wenigsten Rechten auch diesen nicht. -->
|
||
<section class="meine-daten">
|
||
<div class="meine-daten__kopf">
|
||
<h2 class="meine-daten__titel">Was ist über mich gespeichert?</h2>
|
||
<button type="button" class="knopf-still" id="auskunft-knopf">Datei herunterladen</button>
|
||
</div>
|
||
<p class="meine-daten__satz">
|
||
Alles, was dieser Workspace über dich weiß, als Datei zum Mitnehmen.
|
||
Zugangsgeheimnisse sind nicht dabei, und wo andere Menschen vorkommen,
|
||
stehen sie nicht mit Namen darin – ihre Daten gehören ihnen.
|
||
</p>
|
||
<p class="leise" id="auskunft-stand" hidden></p>
|
||
</section>
|
||
|
||
</main>
|
||
|
||
<!-- WER kopf.js LAEDT, MUSS AUCH wahl.js LADEN (Regel seit 07.09.2026).
|
||
|
||
Der Umschalter "Meine Sicht" in der Kopfleiste ist ein selbst
|
||
gebautes Bedienelement; dahinter liegt ein unsichtbares Systemfeld
|
||
fuer Vorleseprogramme. Ohne wahl.js faellt kopf.js auf dieses Feld
|
||
zurueck -- ein grauer Kasten von 92 x 19 Pixeln mit weisser
|
||
Schrift, mitten in einer dunklen Leiste.
|
||
|
||
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
|
||
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
|
||
die seit dem 07.09. jede Seite danach absucht. -->
|
||
<script src="assets/js/nachfrage.js?v=202609221014" defer></script>
|
||
|
||
<script src="assets/js/wahl.js?v=202609221014" defer></script>
|
||
<script src="assets/js/bereiche.js?v=202609221014" defer></script>
|
||
<script src="assets/js/kopf.js?v=202609221014" defer></script>
|
||
<script src="assets/js/auskunft.js?v=202609221014" defer></script>
|
||
<script src="assets/js/treff-regeln.js?v=202609221014" defer></script>
|
||
</body>
|
||
</html>
|