Drucken: eindeutige Dateinamen für PDFs und Einzelbilder

Zwei Druckbogen desselben Tages hießen beide `2026-09-01_druckbogen.pdf`. Der
Browser hängte „(1)" an; wer sie in denselben Ordner oder aufs NAS legte, verlor
den ersten. Genau der Fehler, der im August für die Bibliotheksbilder behoben
wurde — im Druckmodul stand er noch.

Druckdateien folgen jetzt derselben Regel wie alles andere:

    2026-09-01_143207_druck-9-teile_a4_4eca.pdf

Datum, Uhrzeit auf die Sekunde, was auf dem Bogen liegt, das Papier, ein Kürzel.
Das Kürzel ist die Kennung des Verlaufseintrags — eine PDF-Datei lässt sich also
ihrem Eintrag unter „Zuletzt gedruckt" zuordnen. Dafür entsteht die Kennung vor
dem Dateinamen und wird an `recordRun` durchgereicht.

Einzelbilder erben das Motiv ihrer Quelle:
`2026-09-01_143207_lea-badge_130x180_25b3.jpg` statt `2026-09-01_1318.jpg`.
Dafür gibt `loadSourceNamed` neben den Bilddaten auch Namen und Kennung zurück.

Die Oberfläche erfindet keinen eigenen Namen mehr. Der Server schickt einen, der
Client liest ihn aus `Content-Disposition` — es gab zwei Wahrheiten, und die des
Clients war die schlechtere: Sie enthielt nur das Datum. Aus dem Kopf gelesene
Namen werden entschärft, bevor sie in `a.download` landen.

`sheetFilename` in printsource.ts ist entfallen; die Regeln stehen jetzt
vollständig in `naming.ts`, wo sie schon für die Bibliothek stehen.

12 neue Tests, 123 grün.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BNhLunz586g6DeYMa7Qsd1
This commit is contained in:
tillandClaude Opus 5 committed 2026-09-01 15:31:23 +00:00
1 parent 841ff41076
commit a87587c273
9 files changed
+249 -19

No files matched your search

+16
View File
@@ -2,6 +2,22 @@
All notable changes to Klarbild are documented here. Newest first.
## 2026-09-01 (later) — Unique names for print files
### Fixed
- **Two print PDFs from the same day had the same name** — `2026-09-01_druckbogen.pdf`,
every time. The browser appended "(1)"; anyone filing them in the same folder or on the
NAS lost the first one. Exactly the defect fixed for library images in August, still
sitting in the print module. Print files now follow the same rule as everything else:
`2026-09-01_143207_druck-9-teile_a4_4eca.pdf` — date, time to the second, what is on the
sheet, the paper, and a short tag. **The tag is the id of the history entry**, so a PDF
can be traced back to its run under "Last printed".
- Single images carry the motif of their source: `2026-09-01_143207_lea-badge_130x180_25b3.jpg`
instead of `2026-09-01_1318.jpg`.
- The browser no longer invents its own name. The server sends one and the client reads it
from `Content-Disposition` — there were two truths, and the client's was the worse one.
Names read from that header are stripped of anything path-like before use.
## 2026-09-01 (later) — Printing from the library, and a print history
### Added