feat: Verlauf als CSV, Meldung bei Upload mit Drossel, Deckel auf dem Papierkorb
Abschnitt 3 aus docs/ideen.md, bis auf die Sicherungsziele. VERLAUF ALS CSV. Der Export konnte nur den Bestand; wer nachrechnen wollte, was ueber einen Zeitraum passiert ist, sass vor einer Tabelle, die nach 500 Zeilen umblaettert. Der Knopf sitzt in der Reiterleiste und holt den Verlauf, DER GERADE OFFEN IST -- zwei Knoepfe nebeneinander waeren die Frage "welchen von beiden?" an einer Stelle, wo die Antwort schon auf dem Bildschirm steht. Semikolon und CRLF wie beim Bestands-Export; das war dort nachgemessen worden. Gemessen an der ausgelieferten Datei: 5371 Zeilen, kein einziges nacktes LF. Ohne Anmeldung 401 -- die Route liegt hinter dem Waechter, was nach dem Sitzungs-Fehler von vorgestern ausdruecklich nachgeprueft wurde. MELDUNG BEI UPLOAD -- die Drossel ist der eigentliche Inhalt. Jeder Upload schiebt eine Frist von zwei Minuten nach hinten; erst nach der Ruhe geht EINE Nachricht raus. Ohne das waere die Funktion ein Schaden: 900 Fahrzeugbilder ergaeben 900 Nachrichten, Discord drosselt Webhooks, und wer danach eine echte Meldung bekommt, sieht sie nicht mehr. Gemessen: drei Uploads mit zehn Sekunden Abstand -> eine Meldung ueber drei Dateien. Ein einzelner Upload -> eine Meldung ueber eine Datei. Nur Token-Uploads, absichtlich. Was ueber das Dashboard hereinkommt, hat gerade jemand selbst hochgeladen und bestaetigt bekommen. Zurueckholen aus dem Papierkorb meldet gar nichts: das ist kein Neues, das ist ein Wiedergefundenes. Und derselbe Fehler wie bei 'platte' lauerte schon wieder: die Liste der Anlaesse steht im Server UND in der Oberflaeche, und der Server verwirft beim Speichern alles, was in seiner Liste fehlt -- ein Kreuzchen, das sich setzen laesst und beim naechsten Laden weg ist. Diesmal beide angefasst, in beiden steht jetzt ein Verweis auf die andere. Nachgemessen: vier geschickt, vier gespeichert. DECKEL AUF DEM PAPIERKORB. 30 Tage UND 20 GB, was zuerst greift. Wer 200 GB loescht, haelt sie sonst 30 Tage doppelt und merkt es erst, wenn die Platte voll ist. Geraeumt wird das AELTESTE zuerst -- dessen Versehen waere am ehesten schon aufgefallen. Ueber PAPIERKORB_MAX_MB verstellbar, und das nicht aus Bequemlichkeit: ein Deckel von 20 GB laesst sich nicht pruefen, ohne 20 GB zu loeschen. Mit 0.0002 MB nachgemessen -- vier Eintraege zu 422 Bytes, drei entfernt, uebrig blieb der NEUESTE. Danach zurueck auf 20 GB, gemessen 21474836480. NEBENBEI, DREIMAL DIESELBE SORTE FEHLER: "0.0 MB" fuer 422 Bytes, "0 KB" fuer 106 Bytes, "0.0 MB von 0.0 MB" beim Deckel. Es gab drei Byte-Formatierer, jeder mit anderer Untergrenze. Jetzt einer in meldung.ts, von Bytes bis GB, exportiert und von dash.ts mitbenutzt. Nachgemessen ueber alle Stufen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+37
@@ -1029,6 +1029,43 @@ Gegenprüfen lässt sich beides mit dem, was schon da ist:
|
||||
pwsh -File tools\proxy-pruefen.ps1 -Basis https://media.d4rkst3r.de -Token d4rk_...
|
||||
```
|
||||
|
||||
### ✅ Fertig — Verlauf als CSV, Meldung bei Upload, Deckel auf dem Papierkorb
|
||||
|
||||
Abschnitt 3 aus `docs/ideen.md`, der Rest der Liste bis auf die Sicherungsziele.
|
||||
|
||||
**Verlauf als CSV.** `GET /api/dash/verlauf/export`, wahlweise
|
||||
`?was=verwaltung`. Der Knopf sitzt in der Reiterleiste und holt den Verlauf,
|
||||
**der gerade offen ist** — zwei Knöpfe nebeneinander wären die Frage „welchen
|
||||
von beiden?" an einer Stelle, wo die Antwort schon auf dem Bildschirm steht.
|
||||
Semikolon und CRLF wie beim Bestands-Export; das war dort nachgemessen worden,
|
||||
hier wäre es ein zweiter Anlauf gewesen. Gemessen an der ausgelieferten Datei:
|
||||
**5364 Zeilen, 5364 CRLF, kein einziges nacktes LF**, Dateiname
|
||||
`d4rk_media-dateien-2026-08-12.csv`.
|
||||
|
||||
**Deckel auf dem Papierkorb.** 30 Tage **und** 20 GB — was zuerst greift,
|
||||
greift. Beim Ausleeren fliegt erst das zu Alte, dann das **Älteste**, bis die
|
||||
Grenze wieder passt; dessen Versehen wäre am ehesten schon aufgefallen. Die
|
||||
Zahl steht als `maxBytes` in der Antwort von `/api/dash/papierkorb`, damit die
|
||||
Oberfläche sie nicht ein zweites Mal hinschreibt — gemessen: `21474836480`.
|
||||
|
||||
Bei 910 GB frei ist das keine Grenze, sondern eine Zusicherung: der Papierkorb
|
||||
kann nicht mehr unbemerkt zur zweiten Ablage werden.
|
||||
|
||||
**Meldung bei Upload — die Drossel ist der eigentliche Inhalt.** Jeder Upload
|
||||
schiebt eine Frist von zwei Minuten nach hinten; erst nach der Ruhe geht *eine*
|
||||
Nachricht raus, mit Anzahl, Summe, Absendern und den ersten fünf Pfaden.
|
||||
|
||||
Ohne das wäre die Funktion ein Schaden: 900 Fahrzeugbilder ergäben 900
|
||||
Nachrichten, Discord drosselt Webhooks, und wer danach eine echte Meldung
|
||||
bekommt, sieht sie nicht mehr.
|
||||
|
||||
Und **derselbe Fehler wie bei `platte` lauerte schon wieder**: die Liste der
|
||||
Anlässe steht an zwei Stellen — im Server und in der Oberfläche —, und der
|
||||
Server verwirft beim Speichern alles, was in *seiner* Liste fehlt. Ein
|
||||
Kreuzchen, das sich setzen lässt und beim nächsten Laden weg ist. Diesmal
|
||||
beide Stellen angefasst und nachgemessen: **vier geschickt, vier
|
||||
gespeichert.** In beiden steht jetzt ein Verweis auf die andere.
|
||||
|
||||
### ⬜ Als Nächstes
|
||||
|
||||
**Der Vergleichsmaßstab ist weg.** Am 11.08.2026 sind die Lite-Container
|
||||
|
||||
Reference in New Issue
Block a user