Beim Laden stand "SPICY MEDIA - Zentrale" auf jeder Startseite WAS DAS BILD GEZEIGT HAT Beim Durchsehen der Einzelbilder einer Videoaufnahme -- vier Sekunden lang, gleich nach dem Laden: ---- SPICY MEDIA ---- Zentrale WIRD GELADEN Und zwar auf der Startseite eines COMMUNITY-MITGLIEDS. In start.html steht die Vorgabe des Agenturhauses. Das Teamhaus bekommt eigene Worte ("Team Dogi" / "Die IrrenAnstalt"), aber erst wenn /api/ich geantwortet hat. Bis dahin las jeder Modi und jedes Community-Mitglied die Marke der Agentur in der groessten Schrift der Seite. Auf einem langsamen Telefon sekundenlang, bei jedem Aufruf. Das ist kein Schoenheitsfehler. Spicy Media ist der Betrieb hinter der Agentur, und seit dem 24.09. sind die beiden Haeuser getrennt. Genau diese Zeile hat die Trennung bei jedem Seitenaufruf kurz aufgehoben -- und niemandem ist es aufgefallen, weil die Seite DANACH richtig aussah. Wer hinsieht, sieht den Endzustand. GELOEST OHNE SPRUNG `data-wartet` macht die zwei Zeilen durchsichtig, nicht leer -- der Platz bleibt stehen, es ruckt nichts. start.js nimmt das Merkmal weg, sobald es weiss, in welchem Haus es ist; gemessen dauert das 351 ms. Eine Notbremse in der Seite nimmt es nach vier Sekunden notfalls selbst weg. Ohne sie waere die groesste Schrift der Seite fuer immer unsichtbar, falls start.js gar nicht erst laeuft -- und "unsichtbar" waere schlimmer als das falsche Wort. DIE PRUEFUNG DAZU -- UND ZWEI MESSFEHLER DARIN pruef-start-ansicht misst ab jetzt beide Richtungen: nach dem Laden muessen beide Zeilen sichtbar sein, mit gesetztem `data-wartet` unsichtbar. Ohne die zweite Haelfte koennte die Regel spurlos verschwinden, ohne dass etwas rot wird. Die Pruefung selbst hat mich zweimal getaeuscht, und beide Male lehrreich: 1. Sie mass 900 ms nach der Anmeldung -- eine feste Pause. Ob /api/ich in dieser Zeit geantwortet hat, haengt vom Rechner ab. Dieselbe Pruefung war einmal gruen und einmal rot, bei unveraendertem Code. Gewartet wird jetzt auf das Merkmal selbst, und wie lange es gedauert hat, steht im Meldetext. 2. `opacity` hat einen Uebergang von 180 ms, und getComputedStyle liefert waehrenddessen den laufenden Zwischenwert statt des Ziels. Erst meldete die Gegenprobe "nicht verdeckt", dann die Messung davor "nicht sichtbar" -- beide Male war die Regel in Ordnung und nur die Animation im Weg. Fuer die Messung wird der Uebergang jetzt abgeschaltet. DAS VIDEOWERKZEUG server/tiktok-videos.mjs nimmt die vier Clips auf. Sechs Aenderungen, jede aus einem Einzelbild: - DIE NACHTRUHE HAT DIE VORBEREITUNG MITBLOCKIERT. Video 2 zeigte einen leeren Chat. Gemeldet wurde "gefuellt", weil nur geprueft war, dass es den RAUM gibt. Jetzt werden die Nachrichten zurueckgelesen und gezaehlt; unter acht wird nicht gefilmt. - DOGI-MEDIA WAR LEER -- ein Video ueber Material zum Mitnehmen, und auf dem Bildschirm stand "Gerade ist nichts frei". Sechs echte Marken-Bilder werden eingestellt, zwei davon schon genommen, damit die Aussage des Films auch im Bild steht. - "WILL ICH AUCH - 0" an jedem Wunsch, waehrend der Untertitel sagte "die anderen sehen, wer mitwill". Ein Versprechen, das das Bild gleich wieder einkassiert, ist schlimmer als ein leeres Brett. Jetzt wird ueber die echte Route gestimmt, absteigend 6/5/4 -- unter zehn Stimmen wird nicht gefilmt. - DER WAECHTER FUER VIDEO 2 verglich zwei feste Zahlen (TREFF_NACHT_AB === "0"). Das ist die Abschrift einer Einstellung und keine Frage nach dem Zustand: Jedes andere Fenster, das den Chat genauso schlafen legt, wurde abgewiesen. Gefragt wird jetzt `istNachtruhe()` -- dieselbe Funktion, die auch die Seite befragt. Mit 12 bis 6 steht im Bild "Ab 06:00 Uhr geht es weiter" statt "Ab 24:00 Uhr", und das ergibt fuer einen Zuschauer ueberhaupt erst Sinn. - ROLLEN IM KASTEN STATT IN DER SEITE. `window.scrollBy` bewegt die Seite; im Chat rollt aber der Verlauf in seinem eigenen Kasten. Drei Bilder hintereinander sahen gleich aus. - EINE FESTE PIXELZAHL TRAF DEN FALSCHEN BLOCK. Video 4 filmte den Katalog der fertigen Vorschlaege statt der Wuensche, weil "480 nach unten" zufaellig dort endete. `b.zu(wahl)` misst, wo das Element steht. Dazu: Umlaute in allen Bildtexten ("Tueren" stand im Video), der Abspann bleibt am Ende stehen (vorher sah man die letzte Sekunde wieder die App), und die Dateigroessen im Regal sind echt. KEIN LINK, UND ZWAR GEMESSEN Nach jedem Seitenwechsel wird der SICHTBARE Text nach Adressen abgesucht -- dogfather-universe, https://, www., jeder Domainname. Bei einem Fund bricht die Aufnahme ab, und es wird keine Datei geschrieben. Das mit dem Auge zu pruefen waere genau die Sorte Kontrolle, die beim vierten Video nachlaesst. Mit PROBE_LECK=ja schiebt die Suche selbst eine Adresse ins Bild -- nachgefahren, Rueckgabewert 2. Eine Suche, die nur "nichts gefunden" sagen kann, hat nichts bewiesen. Gemessen: pruef-start-ansicht 160/0 (vorher 157), pruef-buehne 242/0, pruef-handy 177/0, pruef-kachelraster 24/0, pruef-css-klassen 33/0.