diff --git a/AGENTS.md b/AGENTS.md
index 1dea019..0d5a85b 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1194,6 +1194,14 @@ wraps the web app for iPhone; a PWA home-screen install is the accepted intermed
stark eingeschränkt (sonst könnte jede Seite still mitlesen, was zuletzt kopiert wurde).
Live geprüft: Desktop zeigt nur noch "Datei auswählen [primaer]"/"Abbrechen", Mobil (375px,
`pointer: coarse`) weiterhin alle drei Knöpfe.
+ (4) **Auch Strg+V half am Rechner nicht** - vom Nutzer getestet und zurückgemeldet ("ctrl+v
+ doesnt work either, pc doesnt know where to paste"). Stimmt: Chrome stellt eine Einfüge-Geste
+ nur zu, wenn es ein Einfüge-Ziel gibt (Eingabefeld/contenteditable), und das Fenster hat
+ keines. Der Hinweis ist deshalb überall entfernt; am Rechner heißt es jetzt schlicht "PDF
+ hierher ziehen / oder unten auswählen", am Telefon "Beleg einfügen / das aus der Mail
+ kopierte PDF". Der `paste`-Listener bleibt als stille Zugabe für Browser, die das Ereignis
+ doch zustellen, wird aber nirgends mehr beworben; `tastenkuerzelEinfuegen()` wurde damit
+ verwaist und ist entfernt. **Am Rechner also bewusst nur zwei Wege: Ziehen und Dateiauswahl.**
- [x] Preis je Liter überall auf 2 Nachkommastellen (2026-08-17, Nutzerwunsch: "€/l for gas is
common to be displayed as x,xx €/l") — alle sieben Stellen von `de(..., 3)` auf `de(..., 2)`
umgestellt: Jahres- und Monatsschnitt in der Tankliste, Zeilenwert je Tankvorgang, "Preis je
diff --git a/homeassistant/installationspaket/www/audi-dashboard-app.js b/homeassistant/installationspaket/www/audi-dashboard-app.js
index 37afc31..986a91e 100644
--- a/homeassistant/installationspaket/www/audi-dashboard-app.js
+++ b/homeassistant/installationspaket/www/audi-dashboard-app.js
@@ -3046,22 +3046,15 @@ function belegPopupSchliessenUndLaden(datei) {
}
/* Telefon-Weg: das aus der Mail kopierte PDF liegt in der Zwischenablage.
- navigator.clipboard.read() ist der einzige Weg, ohne dass der Nutzer in ein
- Eingabefeld tippen muss - iOS zeigt dafür seine eigene Einfügen-Abfrage.
-
- WICHTIG (Ursache eines gemeldeten Fehlers): Am Rechner hilft dieser Knopf
- bei einer im Explorer/Finder kopierten Datei NICHT. clipboard.read() gibt
- laut Spezifikation nur Text, HTML und Bilder heraus - eine kopierte
- PDF-Datei taucht dort gar nicht auf, egal wie frisch sie ist. Der Weg, der
- dort funktioniert, ist Strg+V: das paste-Ereignis trägt die echte Datei in
- clipboardData.files. Deshalb sagt die Meldung unten genau das, statt
- pauschal "kein PDF" zu behaupten. */
+ navigator.clipboard.read() ist dort der einzige Weg, ohne dass der Nutzer
+ in ein Eingabefeld tippen muss - iOS zeigt dafür seine eigene
+ Einfügen-Abfrage. Der Knopf erscheint deshalb nur auf Tippgeräten, siehe
+ zwischenablageKnopfSinnvoll(). */
async function belegAusZwischenablage() {
const ctx = belegPopup;
if (!ctx) return;
- const strgVHinweis = `Am Rechner kann der Browser eine kopierte Datei nur über ${tastenkuerzelEinfuegen()} entgegennehmen - bitte so einfügen oder das PDF hineinziehen.`;
if (!navigator.clipboard || !navigator.clipboard.read) {
- belegPopup.fehler = strgVHinweis;
+ belegPopup.fehler = "Dieser Browser gibt die Zwischenablage nicht heraus - bitte \"Datei auswählen\".";
render(); return;
}
try {
@@ -3069,37 +3062,41 @@ async function belegAusZwischenablage() {
const typ = (eintrag.types || []).find((t) => t === "application/pdf");
if (typ) { belegPopupSchliessenUndLaden(new File([await eintrag.getType(typ)], "beleg.pdf", { type: "application/pdf" })); return; }
}
- belegPopup.fehler = strgVHinweis;
+ belegPopup.fehler = "In der Zwischenablage liegt kein PDF - bitte den Beleg erneut kopieren oder \"Datei auswählen\".";
} catch (err) {
- belegPopup.fehler = "Kein Zugriff auf die Zwischenablage. " + strgVHinweis;
+ belegPopup.fehler = "Kein Zugriff auf die Zwischenablage - bitte \"Datei auswählen\".";
}
render();
}
-function tastenkuerzelEinfuegen() {
- return /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? "Cmd+V" : "Strg+V";
-}
-
-/* Der Einfügen-Knopf wird nur auf Tippgeräten angeboten. Am Rechner kann er
- aus Datenschutzgründen prinzipiell nicht funktionieren (clipboard.read()
- gibt Dateien nie heraus, siehe oben) - ein Knopf, der dort zwangsläufig
- scheitert, führt nur in eine Sackgasse. Dort bleiben Ziehen und Strg+V. */
+/* Der Einfügen-Knopf wird nur auf Tippgeräten angeboten. Am Rechner scheitert
+ er zwangsläufig: clipboard.read() gibt aus Datenschutzgründen nur Text,
+ HTML und Bilder heraus, eine im Explorer kopierte Datei taucht dort nie
+ auf. Und das Tastenkürzel Strg+V hilft dort ebenfalls nicht - ohne
+ Eingabefeld im Fenster hat der Browser kein Ziel für die Einfüge-Geste
+ (vom Nutzer bestätigt). Am Rechner bleiben daher Ziehen und Dateiauswahl. */
function zwischenablageKnopfSinnvoll() {
return window.matchMedia && window.matchMedia("(pointer: coarse)").matches;
}
function vBelegPopup() {
if (!belegPopup) return "";
+ // Am Telefon ist Einfügen der Hauptweg (PDF aus der Mail kopiert), am
+ // Rechner Ziehen bzw. Dateiauswahl. Strg+V wird am Rechner bewusst NICHT
+ // mehr angeboten: ohne Eingabefeld im Fenster hat der Browser kein Ziel für
+ // die Einfüge-Geste, das Tastenkürzel läuft dort also ins Leere.
+ const telefon = zwischenablageKnopfSinnvoll();
return `
`;
}
@@ -3407,6 +3404,10 @@ function ereignisseVerdrahten() {
belegPopup.fehler = "Das war kein PDF.";
render();
});
+ /* Zugabe, kein beworbener Weg: wo der Browser eine Einfüge-Geste ohne
+ Eingabefeld überhaupt zustellt, wird sie mitgenommen. Am Rechner tut
+ Chrome das nicht (deshalb steht Strg+V nirgends mehr als Hinweis), es
+ kostet aber nichts, das Ereignis trotzdem anzunehmen. */
document.addEventListener("paste", (e) => {
if (!belegPopup) return;
const datei = belegAusDateiliste(e.clipboardData && e.clipboardData.files);
diff --git a/homeassistant/installationspaket/www/audi-dashboard-version.json b/homeassistant/installationspaket/www/audi-dashboard-version.json
index b04b813..0d3db61 100644
--- a/homeassistant/installationspaket/www/audi-dashboard-version.json
+++ b/homeassistant/installationspaket/www/audi-dashboard-version.json
@@ -1 +1 @@
-{"version": 1786919856}
+{"version": 1786920185}
diff --git a/homeassistant/www/audi-dashboard-app.js b/homeassistant/www/audi-dashboard-app.js
index 37afc31..986a91e 100644
--- a/homeassistant/www/audi-dashboard-app.js
+++ b/homeassistant/www/audi-dashboard-app.js
@@ -3046,22 +3046,15 @@ function belegPopupSchliessenUndLaden(datei) {
}
/* Telefon-Weg: das aus der Mail kopierte PDF liegt in der Zwischenablage.
- navigator.clipboard.read() ist der einzige Weg, ohne dass der Nutzer in ein
- Eingabefeld tippen muss - iOS zeigt dafür seine eigene Einfügen-Abfrage.
-
- WICHTIG (Ursache eines gemeldeten Fehlers): Am Rechner hilft dieser Knopf
- bei einer im Explorer/Finder kopierten Datei NICHT. clipboard.read() gibt
- laut Spezifikation nur Text, HTML und Bilder heraus - eine kopierte
- PDF-Datei taucht dort gar nicht auf, egal wie frisch sie ist. Der Weg, der
- dort funktioniert, ist Strg+V: das paste-Ereignis trägt die echte Datei in
- clipboardData.files. Deshalb sagt die Meldung unten genau das, statt
- pauschal "kein PDF" zu behaupten. */
+ navigator.clipboard.read() ist dort der einzige Weg, ohne dass der Nutzer
+ in ein Eingabefeld tippen muss - iOS zeigt dafür seine eigene
+ Einfügen-Abfrage. Der Knopf erscheint deshalb nur auf Tippgeräten, siehe
+ zwischenablageKnopfSinnvoll(). */
async function belegAusZwischenablage() {
const ctx = belegPopup;
if (!ctx) return;
- const strgVHinweis = `Am Rechner kann der Browser eine kopierte Datei nur über ${tastenkuerzelEinfuegen()} entgegennehmen - bitte so einfügen oder das PDF hineinziehen.`;
if (!navigator.clipboard || !navigator.clipboard.read) {
- belegPopup.fehler = strgVHinweis;
+ belegPopup.fehler = "Dieser Browser gibt die Zwischenablage nicht heraus - bitte \"Datei auswählen\".";
render(); return;
}
try {
@@ -3069,37 +3062,41 @@ async function belegAusZwischenablage() {
const typ = (eintrag.types || []).find((t) => t === "application/pdf");
if (typ) { belegPopupSchliessenUndLaden(new File([await eintrag.getType(typ)], "beleg.pdf", { type: "application/pdf" })); return; }
}
- belegPopup.fehler = strgVHinweis;
+ belegPopup.fehler = "In der Zwischenablage liegt kein PDF - bitte den Beleg erneut kopieren oder \"Datei auswählen\".";
} catch (err) {
- belegPopup.fehler = "Kein Zugriff auf die Zwischenablage. " + strgVHinweis;
+ belegPopup.fehler = "Kein Zugriff auf die Zwischenablage - bitte \"Datei auswählen\".";
}
render();
}
-function tastenkuerzelEinfuegen() {
- return /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? "Cmd+V" : "Strg+V";
-}
-
-/* Der Einfügen-Knopf wird nur auf Tippgeräten angeboten. Am Rechner kann er
- aus Datenschutzgründen prinzipiell nicht funktionieren (clipboard.read()
- gibt Dateien nie heraus, siehe oben) - ein Knopf, der dort zwangsläufig
- scheitert, führt nur in eine Sackgasse. Dort bleiben Ziehen und Strg+V. */
+/* Der Einfügen-Knopf wird nur auf Tippgeräten angeboten. Am Rechner scheitert
+ er zwangsläufig: clipboard.read() gibt aus Datenschutzgründen nur Text,
+ HTML und Bilder heraus, eine im Explorer kopierte Datei taucht dort nie
+ auf. Und das Tastenkürzel Strg+V hilft dort ebenfalls nicht - ohne
+ Eingabefeld im Fenster hat der Browser kein Ziel für die Einfüge-Geste
+ (vom Nutzer bestätigt). Am Rechner bleiben daher Ziehen und Dateiauswahl. */
function zwischenablageKnopfSinnvoll() {
return window.matchMedia && window.matchMedia("(pointer: coarse)").matches;
}
function vBelegPopup() {
if (!belegPopup) return "";
+ // Am Telefon ist Einfügen der Hauptweg (PDF aus der Mail kopiert), am
+ // Rechner Ziehen bzw. Dateiauswahl. Strg+V wird am Rechner bewusst NICHT
+ // mehr angeboten: ohne Eingabefeld im Fenster hat der Browser kein Ziel für
+ // die Einfüge-Geste, das Tastenkürzel läuft dort also ins Leere.
+ const telefon = zwischenablageKnopfSinnvoll();
return `
`;
}
@@ -3407,6 +3404,10 @@ function ereignisseVerdrahten() {
belegPopup.fehler = "Das war kein PDF.";
render();
});
+ /* Zugabe, kein beworbener Weg: wo der Browser eine Einfüge-Geste ohne
+ Eingabefeld überhaupt zustellt, wird sie mitgenommen. Am Rechner tut
+ Chrome das nicht (deshalb steht Strg+V nirgends mehr als Hinweis), es
+ kostet aber nichts, das Ereignis trotzdem anzunehmen. */
document.addEventListener("paste", (e) => {
if (!belegPopup) return;
const datei = belegAusDateiliste(e.clipboardData && e.clipboardData.files);
diff --git a/homeassistant/www/audi-dashboard-version.json b/homeassistant/www/audi-dashboard-version.json
index b04b813..0d3db61 100644
--- a/homeassistant/www/audi-dashboard-version.json
+++ b/homeassistant/www/audi-dashboard-version.json
@@ -1 +1 @@
-{"version": 1786919856}
+{"version": 1786920185}