From 76aa4cc07186349bd26d1e403247cde5c08144a7 Mon Sep 17 00:00:00 2001
From: Till Heidrich
Date: Tue, 1 Sep 2026 14:23:38 +0000
Subject: [PATCH] =?UTF-8?q?Changelog=20und=20Hilfeseite=20f=C3=BCr=20Bibli?=
=?UTF-8?q?othekswahl=20und=20Druckverlauf?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-Authored-By: Claude Opus 5
Claude-Session: https://claude.ai/code/session_01BNhLunz586g6DeYMa7Qsd1
---
CHANGELOG.md | 38 ++++++++++++++++++++++++++++++++++++++
src/pages/anleitung.astro | 13 ++++++++++++-
2 files changed, 50 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a674d5b..5e74b14 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,44 @@
All notable changes to Klarbild are documented here. Newest first.
+## 2026-09-01 (later) — Printing from the library, and a print history
+
+### Added
+- **Pick images from the library** in the print area. Until now a file had to be
+ uploaded even when Klarbild already had it — a studio result went to disk and back
+ through the uploader. The picker has search (filename and description), a folder
+ filter and multi-select, reachable from the empty tray, from the card header and from
+ each cell group. Only finished, visible images are offered, under the same rules as
+ the library itself.
+- **Last printed** (card 4 on `/drucken`): what was printed recently, with a button to
+ produce the exact same sheet again. **Only the instruction is stored, never the PDF** —
+ an A3 sheet runs to 20–80 MB, an entry to 1–3 KB. That works because the print module
+ computes without a model: the same job yields the same sheet. Verified — two runs of
+ one configuration produced PDFs differing *only* in `CreationDate` and `ModDate`; the
+ image streams are byte-identical. Repeat is offered only when every cell came from the
+ library and every image still exists; otherwise the entry says which of the two reasons
+ applies. The last 100 runs per account are kept, older ones drop off by themselves.
+ You see your own runs; admins see all.
+- **Mail access from the server environment.** Sending now falls back to `SMTP_*`
+ environment variables when nothing is entered under Admin → E-mail, so a fresh install
+ can send straight away — and with it, password reset works. Credentials live in Coolify,
+ never in the repo. The admin card says which source is actually in effect.
+
+### Fixed
+- The run summary listed every cell separately: "10 × 15 cm, 10 × 15 cm". Identical sizes
+ are now merged and their counts added. The first attempt turned "13 × 18 cm" into
+ "13 cm ×18" — the × inside a measurement looked like a count. Anchored to the end of the
+ line now, with seven tests holding it there.
+- "1 image is missing" for a sheet whose source was simply an upload: one counter was
+ serving two different causes. Two counters, two explanations.
+- "the PDF was 0.0 MB" for a 20 KB sheet — below a megabyte it now counts in KB.
+- A file missing from disk showed the browser's broken-image icon in the picker and the
+ history. The tile stays quiet now, and still clickable.
+- On narrow screens the right-hand column was pulled to the top (`order: -1`, so the
+ preview is visible straight away). With a fourth card you would have scrolled past a
+ whole block before reaching the upload area. The cards now run in their own numbering —
+ and the numbers in the card headers are visible again, because they are correct again.
+
## 2026-09-01 — Sharing, e-mail, password reset, and a security pass
### Added
diff --git a/src/pages/anleitung.astro b/src/pages/anleitung.astro
index f2c0fe4..eac38bd 100644
--- a/src/pages/anleitung.astro
+++ b/src/pages/anleitung.astro
@@ -72,7 +72,9 @@ import Base from '../layouts/Base.astro';
keine Wartezeit. Nur Zuschnitt, Skalierung und Geometrie — vom biometrischen Passbild bis zum
30 × 40-Poster.
- - Bilder hochladen (ziehen, ⌘/Strg + V, oder Aus Bibliothek ein fertiges Ergebnis holen).
+ - Bilder hochladen (ziehen, ⌘/Strg + V) — oder Aus der Bibliothek wählen: alles, was
+ Klarbild schon erzeugt hat, mit Suche, nach Ordner und mehrere auf einmal. Kein Umweg mehr
+ über einen erneuten Upload.
- Je Bild das Endmaß wählen. Es sind alle Formate der KI-Generierung da —
biometrisches Passbild 35 × 45 mm, 2 × 3 bis 6 × 9 cm, 9 × 13 bis 24 × 30,
Poster- und Rahmenmaße 30 × 40 bis 70 × 100, Quadrate, DIN A6–A2 und die
@@ -101,6 +103,15 @@ import Base from '../layouts/Base.astro';
Posterdruck verteilt es auf mehrere Blätter zum Zusammenkleben.
- Druck-PDF erzeugen. Die PDF-Seite hat exakt das Bogenmaß.
+ Zuletzt gedruckt. Ganz unten steht, was du zuvor gedruckt hast — mit Maßen, Stückzahl
+ und den Bildern. Nochmal drucken erzeugt genau denselben Bogen ein zweites Mal, ohne dass
+ du irgendetwas neu einstellst; Einstellung übernehmen holt nur Papier, Marken und Ränder
+ zurück, für „wie damals, aber mit anderen Fotos".
+ Aufgehoben werden dabei nicht die PDFs — die sind riesig, ein A3-Bogen wären
+ schnell 20 bis 80 MB — sondern nur die Einstellung, ein paar Kilobyte. Weil das Druckmodul ohne
+ KI rechnet, ergibt derselbe Auftrag wieder exakt dasselbe Blatt. „Nochmal drucken" gibt es
+ deshalb nur, wenn alle Bilder aus der Bibliothek kamen und noch da sind; bei hochgeladenen
+ Dateien ist die Quelle nach dem Aufräumen weg, und dann steht das auch dabei.
Wichtig beim Drucken: im Druckdialog „Tatsächliche Größe" bzw. „100 %" wählen —
nicht „an Seitengröße anpassen". Sonst stimmt das Maß nicht mehr. Wer randlos drucken kann,
setzt den Rand auf 0; sonst 3–5 mm, sonst schneidet der Drucker die Marken weg.