Files
dogfather-universe/workspace/unterstuetzen.html
T
DogFatherGitandClaude Opus 5 3ab69d36a5 Eine dauerhafte Aufgabe wird nicht abgehakt -- auch nicht ueber den Status
VanVan im Support, Meldung #6: „Der Modi kann die dauerhafte Aufgabe
immer noch auf erledigt setzen."

DIE SPERRE GAB ES SEIT DEM 30.09. -- ABER NUR AN EINER TUER.

`/mein-stand` lehnt „erledigt" bei einer dauerhaften Aufgabe seither
ab. Der STATUSWEG (`PATCH /workspace/api/aufgaben/:id`) kannte
`dauerhaft` ueberhaupt nicht. Wer die Aufgabe ohnehin aendern durfte --
etwa weil das Uebernehmen aus dem Pool ihn verantwortlich macht --
hakte sie damit einfach ab. Zwei Tueren, eine Regel, und die Regel
hing nur an einer.

UND ICH HABE DAS LOCH HEUTE FRUEH VERBREITERT. Mit dem Commit davor
darf eine Modi den Status ihrer Aufgabe setzen (damit VanVans Satz
„es gibt darüber ja den button starten" fuer sie ueberhaupt stimmt).
Damit stand ihr genau der Weg offen, der ihr an der anderen Tuer
ausdruecklich verwehrt ist. Gefunden habe ich es nicht beim Bauen,
sondern beim Lesen der offenen Supportmeldungen -- ihr Satz stand seit
dem 28.09. da und passte ploetzlich auf meine eigene Aenderung.

GEAENDERT

 1. Der Statusweg lehnt „erledigt" bei einer dauerhaften Aufgabe ab,
    wenn die Person nicht verteilen darf. DERSELBE Fehlercode wie in
    `/mein-stand` (`dauerhafte_aufgabe`) -- die Oberflaeche uebersetzt
    ihn schon, und ein zweiter Code fuer dieselbe Sache waere der, den
    beim naechsten Mal jemand uebersetzt und der andere nicht.

 2. Der Knopf faellt weg, der die Absage holen wuerde (`darf_beenden`
    vom Server). Dieselbe Ueberlegung wie bei „Fertig" auf der
    Zuteilungskarte, die seit dem 30.09. daneben steht: Ein Knopf, der
    eine Absage holt, ist schlimmer als keiner.

    NUR DER LETZTE SCHRITT faellt weg. „starten" und „zur Freigabe"
    bleiben -- auch eine stehende Aufgabe hat einen Anfang, und der
    Unterschied zwischen „offen" und „in Arbeit" sagt etwas.

 3. BEENDET WIRD SIE VON DER LEITUNG. Das stand seit dem 30.09. als
    Satz im Kommentar von `/mein-stand`; jetzt stimmt er auch.

GEPRUEFT -- UND ZWAR BEIDE TUEREN, sonst wandert der Fehler nur:

    eine dauerhafte Aufgabe (#3)
    Tuer 1 (mein-stand) ist zu (409 dauerhafte_aufgabe)
    Tuer 2 (Status) jetzt auch (409 dauerhafte_aufgabe)
      anfangen darf sie trotzdem (200)
      und die Leitung beendet sie (200)
    und die Oberflaeche erfaehrt es (darf_beenden false)

Die dritte Zeile ist die Gegenprobe gegen zu viel Sperre: „gesperrt"
darf nicht heissen, dass gar nichts mehr geht.

GEPRUEFT: pruef-zuteilung 90 -> 96 ok · pruef-bewerbung-aufgaben 164 ·
pruef-aufgabenbrett 49 · pruef-aufgaben-vorlagen 46 · pruef-struktur 102.

WAS AUS DERSELBEN MELDUNG NOCH OFFEN IST (VanVan, #6): Bei den
VORLAGEN laesst sich weder die Frist anpassen noch „dauerhaft"
einstellen, und eine Anmerkung fehlt auch. Das ist ein eigener Umbau
und steht hier nur, damit es nicht untergeht.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-10-02 19:26:55 +02:00

123 lines
5.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Unterstützen · Spicy &amp; Dogi</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=202610021926" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610021926" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610021926" />
<link rel="stylesheet" href="assets/css/start.css?v=202610021926" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610021926" />
<link rel="stylesheet" href="assets/css/module.css?v=202610021926" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610021926" />
</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">Creator&nbsp;Workspace</a> · Unterstützen</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 inhalt--breit">
<!-- ==================================================================
DER KOPF SAGT ZUERST, DASS NIEMAND MUSS (24.09.2026)
Filipe: „wo die leute alle supporten können auf andere art
anstatt nur tiktok."
Eine Seite, die mit „unterstütze mich" anfängt, liest sich wie
eine hohle Hand. Der erste Satz sagt deshalb das Gegenteil: Es
gibt Wege, die nichts kosten, und keiner davon ist zweite Wahl.
Erst danach kommen die, bei denen Geld fließt.
Wer nichts geben kann, soll diese Seite nicht mit einem
schlechten Gefühl schließen — das ist die ganze Überlegung
hinter dem Aufbau.
============================================================== -->
<section class="kopf-zeile">
<div>
<p class="marke">Community</p>
<h1 class="titel" id="seiten-titel">Dogi etwas zurückgeben</h1>
<p class="unterzeile" id="seiten-unter">
Es geht auch ohne TikTok – und es geht auch ohne Geld.
Such dir aus, was zu dir passt. Niemand muss etwas geben, um dazuzugehören.
</p>
</div>
</section>
<p class="fehler" id="fehler" role="alert" aria-live="polite" hidden></p>
<!-- ==================================================================
NUR DOGFATHER: die Leiste zum Ändern und die Zahlen
„nur dogfather soll sie verändern können oder vieles mehr sehen."
Sie steht im Dokument und wird von unterstuetzen.js eingeblendet
— ausgeliefert bekommt sie jeder, das ist nur HTML. Die
ENTSCHEIDUNG trifft der Server: Er liefert `darf_aendern` und
weist jedes Schreiben ohne dieses Recht mit 404 ab. Ein
verstecktes Feld ist eine Bitte, keine Sperre.
============================================================== -->
<section class="u-leitung" id="leitung" hidden aria-labelledby="leitung-titel">
<div class="u-leitung__kopf">
<h2 class="u-leitung__titel" id="leitung-titel">Nur du siehst das hier</h2>
<button type="button" class="knopf knopf--klein" id="aendern-an">Ändern</button>
</div>
<p class="u-leitung__satz" id="leitung-satz"></p>
<div class="u-zahlen" id="zahlen" hidden></div>
</section>
<!-- Die Wege. unterstuetzen.js baut sie aus der Antwort des Servers —
hier steht nur, wo sie hingehören. -->
<div id="wege" aria-live="polite">
<p class="u-laedt" id="laedt">Wird geladen …</p>
</div>
<!-- ==================================================================
DER LETZTE SATZ IST KEIN SCHMUCK
Er steht fest im Dokument und nicht in der Datenbank: Was hier
zugesagt wird, soll nicht aus Versehen wegzuklicken sein.
============================================================== -->
<p class="u-fuss">
Nichts davon ist Pflicht, und niemand sieht, wer etwas gegeben hat.
Wer nur zuschaut, gehört genauso dazu.
</p>
</main>
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit
„Cannot read properties of undefined (reading 'LEITUNG')" ab. -->
<script src="assets/js/bereiche.js?v=202610021926" defer></script>
<script src="assets/js/wahl.js?v=202610021926" defer></script>
<script src="assets/js/nachfrage.js?v=202610021926" defer></script>
<script src="assets/js/installieren.js?v=202610021926" defer></script>
<script src="assets/js/kopf.js?v=202610021926" defer></script>
<script src="assets/js/glocke.js?v=202610021926" defer></script>
<script src="assets/js/holen.js?v=202610021926" defer></script>
<!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort
des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet
von pruef-meldungen, nicht beim Ansehen. -->
<script src="assets/js/meldung.js?v=202610021926" defer></script>
<script src="assets/js/unterstuetzen.js?v=202610021926" defer></script>
</body>
</html>