Commit Graph
4 Commits
Author SHA1 Message Date
DogFatherGitandClaude Opus 5 fe1dad48e5 screen1: Wohin ein geholtes Video gelegt wird, darf man waehlen
Filipe: "ich will das wenn man da video holt das man auch aussuchen
kann in welcher account es unten angezeigt werden soll."

Bis heute entschied allein der Link: kanalVonHandle liest den Account
aus der TikTok-Adresse, und dort landete das Video. Das ist gut
geraten, aber es IST geraten -- ein Ausschnitt vom Hauptkanal gehoert
oft unter "Clips", und seit dem 21.09. hat jeder Account seine eigene
Spalte, in der das sichtbar wird.

DIE SCHRANKE BLEIBT UNANGETASTET. Der ABSENDER muss weiterhin einer
der drei eigenen Kanaele sein; gewaehlt wird nur die SPALTE. Sonst
waere aus einer Ablagehilfe ein Loch fuer fremde Inhalte geworden --
die Pruefung haelt genau das fest ("ein fremder Absender kommt auch
MIT Wahl nicht herein", 403).

Ohne Angabe bleibt alles wie bisher. Das ist der haeufigste Fall und
soll keinen zusaetzlichen Handgriff kosten; die Vorgabe heisst "Aus
dem Link erkennen".

ZWEI FUNDE BEIM PRUEFEN
  - Die Antwort meldete `auskunft.kanal` -- also das ERKANNTE, nicht
    das, wohin der Eintrag wirklich ging. Seit beides auseinanderfallen
    kann, haette die Seite "DogFather" gemeldet, waehrend das Video
    unter "Clips" steht.
  - `coverAbrufe === 3` in pruef-video war eine Rechnung von dem Tag,
    an dem die Pruefung drei Videos anlegte. Der neue Abschnitt legte
    vier weitere an, und die Zeile wurde rot, ohne dass etwas kaputt
    war. Gemeint war nie eine Summe, sondern eine DIFFERENZ: holt
    derselbe Link ein zweites Mal? Das bleibt richtig, egal wie viele
    Videos davor liefen.

Die Wahl steht UNTER der Zeile, nicht darin: Am 21.09. hat genau so
ein drittes Element in derselben Reihe das Chat-Eingabefeld auf einen
Buchstaben zusammengedrueckt. Am Bildschirm gemessen (1044 px).

Gemessen: pruef-video 71/0 (vier neue Aussagen samt Gegenprobe, dass
ohne Wahl weiterhin der Link entscheidet), pruef-highlights 31/0
(fuenf neue am echten Bildschirm), pruef-meldungen 8/0, pruef-teilen
27/0.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-22 13:25:28 +02:00
DogFatherGitandClaude Opus 5 782a9116f2 Zwei Pruefungen rechneten in UTC und schlugen abends falschen Alarm
pruef-zeitraum und pruef-highlights bildeten ihren Tagesstempel mit
toISOString(). Das ist UTC. Zwischen 22:00 und Mitternacht deutscher
Zeit ist das schon der naechste Tag -- die Pruefungen verglichen dann
einen Eintrag von heute mit dem Datum von morgen und meldeten einen
Fehler, wo keiner war.

Der Zeitraum-Filter im Haus rechnet richtig; er benutzt tagLokal() aus
helfer-zeit.mjs. Nur die Pruefungen darueber hatten ihre eigene, falsche
Rechnung. Jetzt benutzen sie denselben Helfer wie der Code, den sie
pruefen -- damit koennen die beiden gar nicht mehr auseinanderlaufen.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-21 11:44:55 +02:00
DogFatherGitandClaude Opus 5 6e46a08543 Portnummern werden abgeleitet, nicht mehr vergeben
Gemessen: 165 Pruefdateien, 129 verschiedene Nummern -- NEUNZEHN
doppelt, vier davon dreifach. Niemand hatte das gewollt; jede neue
Pruefung wurde von einer vorhandenen abgeschrieben, und die Nummer kam
mit. Meine eigene Notiz sagte "sieben" -- auch eine Bestandsliste
altert.

Der Waechter faengt den Schaden ab, aber er kann nur melden, was schon
passiert ist: Zwei Pruefungen mit derselben Nummer koennen nie
gleichzeitig laufen, und ein liegengebliebener Prozess der einen laesst
die andere abbrechen mit einer Meldung, die wie ein Befund aussieht.
Genau das ist mir am 20.09. zweimal passiert.

Jetzt leitet jede Datei ihre Nummer aus ihrer STELLE IM ALPHABET ab
(eigenerPort in helfer-port.mjs), zwei je Datei. Nicht ueber eine
Pruefsumme: Bei 165 Namen in 4900 Nummern waeren nach dem
Geburtstagsproblem rund DREI Zusammenstoesse zu erwarten -- ein Hash
tauscht eine sichtbare Doppelung gegen eine unsichtbare. Die Stelle im
Alphabet ist eindeutig von der Bauart her.

--- ZWEI FEHLER AUF DEM WEG, BEIDE LEHRREICH -------------------------

1. DER ERSTE VERSUCH WAR GRUEN UND KAPUTT. Ersetzt wurde mit einem
   Muster: "([^"]*4231[^"]*)". Das hielt

     { host: "127.0.0.1", port: 4231, path: "/404.html" }

   fuer eine Zeichenkette -- ein Muster kann eine oeffnende nicht von
   einer schliessenden Anfuehrung unterscheiden. Heraus kam

     { host: "127.0.0.1`, port: ${PORT}, path: `/404.html" }

   also GUELTIGER Code ohne port-Feld. `node --check` sagte gruen fuer
   alle 164 Dateien. Aufgefallen ist es erst, weil ich vier Vertreter
   gegen eine vorher gemessene Grundlinie laufen liess: pruef-schranke
   39/0 vorher, 38/1 nachher.

   Alles zurueckgenommen und mit einem Zerleger neu gemacht, der weiss,
   ob eine Stelle Code, Zeichenkette, Vorlage, Kommentar oder
   regulaerer Ausdruck ist. In pruef-ics stand die Nummer in einem
   regulaeren Ausdruck -- der wird jetzt gebaut statt hingeschrieben.

2. EIN MODUL, DAS BEIM IMPORTIEREN ARBEITET, IST EINE FALLE. Der
   zweite Durchgang importierte den ersten, um seine Mechanik zu
   benutzen -- und fuehrte dessen Hauptlauf gleich mit aus. Die
   zweiten Nummern wurden dadurch als erste behandelt, zwei Aufrufe
   bekamen dieselbe Nummer, und in pruef-content stand `const PORT`
   zweimal.

--- WAS DAS DAUERHAFT HAELT -----------------------------------------

pruef-portnummern.mjs (neu, 8 Pruefungen) fragt nicht "welche Nummern
sind doppelt", sondern "wer traegt ueberhaupt noch eine von Hand ein"
und "wer startet einen Server, ohne seine Nummer abzuleiten". Die
zweite Frage hat sofort etwas gefunden, das in KEINER Doppelungsliste
stand: pruef-push-weg belegte 4341 und 4342, rief den Waechter aber
gar nicht auf -- dieselbe Nummer wie pruef-agentur. Eine Liste zeigt
nur, was auf ihr steht.

Mit Gegenprobe: Eine unbekannte Datei bekommt keine geratene Nummer,
sondern einen Abbruch, und eine dritte Nummer je Datei gibt es nicht.

--- NACHGEMESSEN ----------------------------------------------------

Sechzehn Pruefungen gegen ihre vorher gemessene Grundlinie, je eine
Vertreterin jeder umgestellten Bauweise (eine Nummer, zwei Nummern,
Nummer in einer Zeichenkette, in einer Vorlage, in einem regulaeren
Ausdruck, dynamische Einfuhr, Nachtlauf mit zwei Laeufen):

  crew-adresse 132/0 · schranke 39/0 · content 45/0 · entwicklung 46/0
  anruf 127/0 · ics 37/0 · push-weg 20/0 · arten 28/0 · video 67/0
  kanalzeile 14/0 · agentur 62/0 · spicy 83/0 · creator-anlegen 50/0
  push-ziel 10/0 · portnummern 8/0

Alle exakt wie vorher. Zwei waren schon vorher rot und sind es
unveraendert geblieben (crew-wand-bild 41/4, teilen 14/3) -- per
`git stash` belegt, nicht angenommen.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-20 22:51:21 +02:00
DogFatherGitandClaude Opus 5 1bdeccc054 Highlights: drei Accounts nebeneinander, nach Zeit geteilt
DogFather, HasiDog und DogFather Clips haben eigene Zuschauer und
einen eigenen Ton -- das steht so schon an KANAELE im Server. Eine
gemeinsame Galerie behauptete, sie waeren ein Topf; wer fuer Clips
schneidet, suchte in jeder Reihe nach den Kacheln, die ihn angehen.

Jetzt drei Spalten nebeneinander, jede zuklappbar, jede mit ihrem
Handle und ihrer Zahl. Eine vierte Spalte gibt es nur, wenn sie
gebraucht wird: Bilder ohne TikTok-Link gehoeren zu keinem Account,
und sie verschwinden zu lassen waere der schlimmere Fehler.

Die Reihenfolge kommt vom SERVER. Der Browser hatte dafuer eine
eigene kleine Liste (KANAL_WORT) -- dieselben drei Namen in anderer
Reihenfolge, ohne Handles. Beim vierten Account waere genau diese
Kopie die vergessene.

Dazu eine Zeitleiste: Aktuell (heute), Diese Woche, Dieser Monat,
Dieses Jahr, Alles. Kalenderzeitraeume, keine Rueckblicke -- wer am
Dienstag "diese Woche" fragt, meint Montag und Dienstag. Jeder
Knopf traegt seine Zahl; ohne sie klickt man ins Leere und weiss
nicht, ob es am Filter lag.

Und beim Anlegen laesst sich der Account waehlen -- fuer Bilder und
Momente ohne Link. Bei einem TikTok-Link leitet der Server ihn
weiterhin aus dem Handle ab; das ist genauer, weil niemand sich
vertippen kann.

Beim Bauen gemessen statt vermutet: Der Spaltenkasten lag IM
Galerie-Raster von #liste und bekam eine Zelle von 376 px --
Elternbreite 1160. Die drei standen untereinander. Die Galerie
gehoert jetzt in die Spalte, nicht um sie herum.

pruef-highlights.mjs: 26 Pruefungen, mit Gegenproben (Gast bekommt
die Liste nicht, erfundener Account wird abgelehnt, zweiter Klick
hebt den Filter auf). pruef-video.mjs weiterhin 67/0.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-20 19:28:22 +02:00