Feat #2: Statische Websiten QR Code - Name bearbeiten #3

Merged
florian.wilde merged 1 commits from feat/2-statische-codes-benennen into main 2026-08-20 23:26:46 +00:00
Owner

Das Feld „Name (optional)" stand nur im Dynamisch-Block. Bei einem statischen Code gab es damit keine Möglichkeit, ihm einen Namen zum Wiederfinden zu geben.

Was sich ändert

  • Das Namensfeld gilt in beiden Betriebsarten.
  • Der Name bestimmt den Dateinamen beim Herunterladen: aus „Plakat Eingang" wird qr-plakat-eingang.png statt qr-example-com-plakat.png.
  • Ein statischer Code lässt sich auf Wunsch in „Meine Codes" ablegen, um ihn wiederzufinden und erneut herunterzuladen.

Was ein abgelegter statischer Code ist — und was nicht

Ein Schnappschuss, kein steuerbares Ziel. Änderbar ist nur der Name; Inhalt und Gestaltung bleiben, wie sie beim Ablegen waren, denn genau das steckt im gedruckten Bild. Er bekommt keinen Kurz-Link, ist unter /r/… nicht erreichbar und zählt keine Scans — in der Liste steht dort „statisch" und ein Strich. Wer nach dem Ablegen den Inhalt ändert, bekommt das Ablegen erneut angeboten; der vorherige Eintrag bleibt als eigener Schnappschuss bestehen.

Datenmodell

QrCode trägt jetzt mode, und slug darf leer sein. In PostgreSQL schließen sich mehrere NULL in einem eindeutigen Index nicht aus — die Bedingung „je Domain eindeutig" gilt für dynamische Codes also unverändert. Bestehende Codes werden von der Migration als dynamic geführt.

Geprüft

38 neue Prüfungen für statische Codes, dazu die volle Regression (e2e, Kurz-Links, Uploads, Landingpages, Liste, Erscheinungsbild, Dark Mode, Anmeldung, Domains, Slug-Rechte) — alles grün.

Closes #2

Das Feld „Name (optional)" stand nur im Dynamisch-Block. Bei einem statischen Code gab es damit keine Möglichkeit, ihm einen Namen zum Wiederfinden zu geben. **Was sich ändert** - Das Namensfeld gilt in **beiden** Betriebsarten. - Der Name bestimmt den **Dateinamen beim Herunterladen**: aus „Plakat Eingang" wird `qr-plakat-eingang.png` statt `qr-example-com-plakat.png`. - Ein statischer Code lässt sich auf Wunsch **in „Meine Codes" ablegen**, um ihn wiederzufinden und erneut herunterzuladen. **Was ein abgelegter statischer Code ist — und was nicht** Ein Schnappschuss, kein steuerbares Ziel. Änderbar ist nur der Name; Inhalt und Gestaltung bleiben, wie sie beim Ablegen waren, denn genau das steckt im gedruckten Bild. Er bekommt keinen Kurz-Link, ist unter `/r/…` nicht erreichbar und zählt keine Scans — in der Liste steht dort „statisch" und ein Strich. Wer nach dem Ablegen den Inhalt ändert, bekommt das Ablegen erneut angeboten; der vorherige Eintrag bleibt als eigener Schnappschuss bestehen. **Datenmodell** `QrCode` trägt jetzt `mode`, und `slug` darf leer sein. In PostgreSQL schließen sich mehrere `NULL` in einem eindeutigen Index nicht aus — die Bedingung „je Domain eindeutig" gilt für dynamische Codes also unverändert. Bestehende Codes werden von der Migration als `dynamic` geführt. **Geprüft** 38 neue Prüfungen für statische Codes, dazu die volle Regression (e2e, Kurz-Links, Uploads, Landingpages, Liste, Erscheinungsbild, Dark Mode, Anmeldung, Domains, Slug-Rechte) — alles grün. Closes #2
florian.wilde added 1 commit 2026-08-20 17:34:49 +00:00
Das Feld „Name (optional)" stand nur im Dynamisch-Block. Bei einem statischen
Code gab es damit keine Moeglichkeit, ihm einen Namen zum Wiederfinden zu
geben.

Jetzt gilt es in beiden Betriebsarten und tut zweierlei: Es bestimmt den
Dateinamen beim Herunterladen — aus „Plakat Eingang" wird
qr-plakat-eingang.png statt qr-example-com-plakat.png — und es laesst sich
damit ein statischer Code in „Meine Codes" ablegen.

Ein abgelegter statischer Code ist ein Schnappschuss, kein steuerbares Ziel.
Aenderbar ist nur der Name; Inhalt und Gestaltung bleiben, wie sie beim
Ablegen waren, denn genau das steckt im gedruckten Bild. Er bekommt keinen
Kurz-Link, ist unter /r nicht erreichbar und zaehlt keine Scans — in der
Liste steht dort „statisch" und ein Strich. Wer nach dem Ablegen den Inhalt
aendert, bekommt das Ablegen erneut angeboten; der vorherige Eintrag bleibt
als eigener Schnappschuss.

Dafuer traegt QrCode jetzt `mode`, und `slug` darf leer sein. In PostgreSQL
schliessen sich mehrere NULL in einem eindeutigen Index nicht aus, die
Bedingung „je Domain eindeutig" gilt fuer dynamische Codes also unveraendert.

Refs #2
florian.wilde merged commit 7f67a35218 into main 2026-08-20 23:26:46 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: florian.wilde/qrcode-generator#3