Die Rueckfragen sagten nicht, was passiert -- und eine lief gar nicht ueber den Hausdialog
`pruef-nachfrage` und `pruef-call-kategorien` standen seit dem 28.09. rot und waren als „nicht angesehen" vermerkt. Nachgemessen sind es drei echte Befunde und eine Zeitbombe. ===================================================================== 1. FALSCHE FELDNAMEN -- die Erklaerung erschien NIE ===================================================================== Der Hausdialog kennt `was:` und `ja:`. An vier Stellen in `reaktion.js` stand `text:` und `knopf:`. Beides wird stillschweigend ignoriert. Wer „Sendung beenden?" las, bekam den Titel und zwei Knoepfe -- genau die Frage, die `confirm()` stellt und derentwegen `nachfrage.js` ueberhaupt gebaut wurde. Es stuerzt nichts ab, es fehlt nur; so etwas findet keine Syntaxpruefung und kein Blick auf den Bildschirm, wenn man den Satz nicht vermisst. Alle vier tragen jetzt `was` UND `bleibt`. Beim Beenden steht dabei das, was seit heute frueh dazugekommen ist: dass Titel, Video, Vorschaubild, Beginn und das zweite Video geleert werden -- wer das nicht weiss, traegt danach alles noch einmal ein und haelt es fuer einen Fehler. ===================================================================== 2. `window.frageNachText` GIBT ES NICHT ===================================================================== Nur EINE Zeile im ganzen Haus nennt es; gesetzt hat es niemand. Die Abfrage „Wie viele Dogen waren es?" lief damit IMMER ueber den nackten `prompt()` -- ausgerechnet die, die am haeufigsten vorkommt. Der Hausdialog kann das laengst besser: `zahl:` ist ein Zahlenfeld mit Obergrenze und eigener Fehlerzeile. ===================================================================== 3. DER DOPPELTE NOTNAGEL WAR TOTER CODE ===================================================================== `window.frageNach ? await frageNach(...) : confirm(...)` -- der Notnagel fuer Browser ohne <dialog> steckt schon IN `nachfrage.js`, und zwar mit DEMSELBEN Text. Meiner daneben zeigte im Ernstfall WENIGER und im Normalfall nie etwas. Im Notizblock stand sogar der nackte `window.confirm()`, ganz ohne Hausdialog. Er fragt „bist du sicher"; der Hausdialog sagt, was passiert und was bleibt. Beim endgueltigen Loeschen ist das `bleibt` der halbe Grund fuer die Rueckfrage: Der Papierkorb ist der Ort, an dem man etwas wiederfindet. ===================================================================== 4. EINE ZEITBOMBE IN pruef-call-kategorien ===================================================================== Sie legte eine Wiederholung „in vier Tagen" an -- im Quelltext stand woertlich „also mit grosser Wahrscheinlichkeit dieser Monat". Heute ist der 30.; vier Tage spaeter ist Oktober. Der Server verlangt kuenftig UND im laufenden Monat, und am Monatsende gibt es beides zusammen nicht. DIE ANWENDUNG HATTE RECHT. Dieselbe Art wie bei `pruef-kalender` am 29.09. Die nahe Auspraegung wird jetzt GERECHNET (letzter Tag des Monats, 23:59) statt gehofft -- plus ein benannter dritter Ausgang fuer die eine Minute im Monat, in der es keinen kuenftigen Termin mehr in diesem Monat gibt. Die drei anderen Aussagen werden auch dann geprueft; ein Ausstieg, der gar nichts mehr misst, waere ein stiller Aussetzer. Gemessen: pruef-nachfrage 53/0 (war 51/2), pruef-call-kategorien 22/0 (war 21/1), pruef-notizen 79/0, pruef-reaktion 407/0, mess-reaktion 0/0, pruef-css-klassen 37/0, pruef-struktur 44/0. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -801,8 +801,25 @@
|
||||
genau der, der eine Rückfrage rechtfertigt: Danach gibt es
|
||||
keinen Weg zurück mehr. */
|
||||
const name = titel ? `„${titel}"` : 'dieses Blatt';
|
||||
if (!window.confirm(`${name} endgültig löschen?\n\nDanach ist es weg – `
|
||||
+ 'auch für dich.')) return;
|
||||
/* DER HAUSDIALOG, NICHT `confirm()` (30.09.2026).
|
||||
|
||||
Hier stand der nackte Kasten des Browsers — ohne Notnagel, ohne
|
||||
Hausgestaltung. Und er stellt die falsche Frage: `confirm()`
|
||||
fragt „bist du sicher", der Hausdialog sagt, WAS passiert und
|
||||
WAS bleibt. Genau dafür wurde er gebaut.
|
||||
|
||||
`bleibt` ist hier keine Zugabe, sondern der halbe Grund für die
|
||||
Rückfrage: Der Papierkorb ist der Ort, an dem man etwas
|
||||
wiederfindet. Wer endgültig löscht, gibt genau das auf. */
|
||||
const ja = await window.frageNach?.({
|
||||
titel: `${name} endgültig löschen?`,
|
||||
was: 'Das Blatt verschwindet aus dem Papierkorb.',
|
||||
bleibt: 'Alles andere im Papierkorb bleibt liegen und lässt sich '
|
||||
+ 'weiter zurückholen.',
|
||||
endgueltig: true,
|
||||
ja: 'Endgültig löschen', nein: 'Im Papierkorb lassen',
|
||||
});
|
||||
if (ja === false || ja === undefined) return;
|
||||
try {
|
||||
const a = await hole(`/workspace/api/notizblock/${id}/endgueltig`, { method: 'DELETE' });
|
||||
if (!a.ok) { melde(await fehlerText(a, 'Ging nicht.')); return; }
|
||||
|
||||
@@ -328,9 +328,14 @@
|
||||
/* EINE RUECKFRAGE, WEIL ES NICHT ZURUECKGEHT. Bei „lösen"
|
||||
im Chat steht hier keine -- das laesst sich rueckgaengig
|
||||
machen. Eine Botschaft ist danach weg samt ihrem Text. */
|
||||
/* `was:` UND NICHT `text:` — der Dialog kennt `text` nicht und
|
||||
hat den Satz stillschweigend verworfen. `endgueltig` setzt
|
||||
den Hinweis „nicht rückgängig" von selbst darunter, in
|
||||
denselben Worten wie überall im Haus. */
|
||||
const ja = await window.frageNach?.({
|
||||
titel: 'Botschaft löschen?',
|
||||
text: `„${b.text}" wird aus dem Band genommen. Das geht nicht zurück.`,
|
||||
was: `„${b.text}" wird aus dem Band genommen.`,
|
||||
endgueltig: true,
|
||||
ja: 'Löschen', nein: 'Behalten',
|
||||
});
|
||||
if (ja === false || ja === undefined) return;
|
||||
@@ -1597,11 +1602,12 @@
|
||||
const ja = window.frageNach
|
||||
? await window.frageNach({
|
||||
titel: `${b.name} aus der Sendung nehmen?`,
|
||||
text: 'Die Person kann bis zum Ende der Sendung nicht mehr zusehen. '
|
||||
+ 'Für länger nimm die Maßnahmen im Treff.',
|
||||
knopf: 'Rausnehmen',
|
||||
was: 'Die Person kann bis zum Ende der Sendung nicht mehr zusehen.',
|
||||
bleibt: 'Für länger nimm die Maßnahmen im Treff — die gelten über '
|
||||
+ 'diese Sendung hinaus.',
|
||||
ja: 'Rausnehmen', nein: 'Doch nicht',
|
||||
})
|
||||
: confirm(`${b.name} aus der Sendung nehmen?`);
|
||||
: false;
|
||||
if (ja) massnahme(b.person_id, 'raus');
|
||||
});
|
||||
|
||||
@@ -2209,11 +2215,19 @@
|
||||
const ja = window.frageNach
|
||||
? await window.frageNach({
|
||||
titel: 'Sendung beenden?',
|
||||
text: 'Der Saal geht zu, der Live-Chat dieser Sendung wird abgeräumt '
|
||||
+ 'und die Gäste werden entlassen.',
|
||||
knopf: 'Beenden',
|
||||
/* SEIT DEM 30.09. WIRD AUCH DER SCHREIBTISCH GELEERT --
|
||||
Titel, Video, Vorschaubild, Beginn und das zweite Video.
|
||||
Das gehört in diesen Satz: Wer es nicht weiß, trägt
|
||||
danach alles noch einmal ein und hält es für einen
|
||||
Fehler. */
|
||||
was: 'Der Saal geht zu, der Live-Chat dieser Sendung wird abgeräumt, '
|
||||
+ 'die Gäste werden entlassen — und Titel, Video, Vorschaubild, '
|
||||
+ 'Beginn und das zweite Video werden geleert.',
|
||||
bleibt: 'Die Sendung steht danach im Verlauf. Spenden, Dogen und '
|
||||
+ 'die Warteschlange bleiben unberührt.',
|
||||
ja: 'Beenden', nein: 'Weiterlaufen lassen',
|
||||
})
|
||||
: confirm('Sendung beenden?');
|
||||
: false;
|
||||
if (ja) standSetzen('zu');
|
||||
});
|
||||
$('p-holen').addEventListener('click', gastHolen);
|
||||
@@ -2952,11 +2966,14 @@
|
||||
const ja = window.frageNach
|
||||
? await window.frageNach({
|
||||
titel: 'Schlüssel neu erzeugen?',
|
||||
text: 'Die alten Adressen hören sofort auf zu arbeiten. Du musst '
|
||||
+ 'die Quellen in OBS einmal neu eintragen.',
|
||||
knopf: 'Neu erzeugen',
|
||||
was: 'Die alten Adressen hören sofort auf zu arbeiten — auch mitten '
|
||||
+ 'in einer laufenden Sendung.',
|
||||
bleibt: 'Du musst die Quellen in OBS einmal neu eintragen. Die '
|
||||
+ 'Adressen stehen danach hier.',
|
||||
endgueltig: true,
|
||||
ja: 'Neu erzeugen', nein: 'Doch nicht',
|
||||
})
|
||||
: confirm('Schlüssel neu erzeugen? Die alten Adressen gehen dann nicht mehr.');
|
||||
: false;
|
||||
if (!ja) return;
|
||||
const a = await hole('/workspace/api/buehne/schluessel', { method: 'POST' });
|
||||
if (!a.ok) { melde(await a.json().catch(() => null), 'Das ging nicht.'); return; }
|
||||
@@ -4107,10 +4124,22 @@
|
||||
async function spendeMelden() {
|
||||
let mille = gemeldeterBetrag;
|
||||
if (!mille) {
|
||||
const wort = window.frageNachText
|
||||
? await window.frageNachText({ titel: 'Wie viele Dogen waren es?', knopf: 'Melden' })
|
||||
: prompt('Wie viele Dogen waren es?');
|
||||
mille = dogenInMille(wort);
|
||||
/* `frageNachText` GAB ES NIE. Nur diese Zeile nannte es; gesetzt
|
||||
hat es niemand. Die Abfrage lief damit IMMER über den nackten
|
||||
`prompt()` — ausgerechnet die, die am häufigsten vorkommt.
|
||||
|
||||
Der Hausdialog kann das längst besser: `zahl:` ist ein
|
||||
Zahlenfeld mit eigener Fehlerzeile („Das ist keine gültige
|
||||
Anzahl"). Es gibt `{ zahl }` zurück oder `false`. */
|
||||
const antwort = await window.frageNach?.({
|
||||
titel: 'Wie viele Dogen waren es?',
|
||||
was: 'Trag ein, was in der Spende stand. Kommastellen gehen auch.',
|
||||
zahl: 'Dogen',
|
||||
zahlHinweis: 'zum Beispiel 0,5 oder 2,5',
|
||||
ja: 'Melden', nein: 'Doch nicht',
|
||||
});
|
||||
if (!antwort || antwort === true) return;
|
||||
mille = dogenInMille(antwort.zahl);
|
||||
if (!mille) return;
|
||||
}
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user