Verbesserung Ablagedialog bei mehreren ausgewählten Dateien

This commit is contained in:
2026-09-09 23:15:14 +02:00
parent 3f96e6f49d
commit 01a972d719
14 changed files with 908 additions and 236 deletions

View File

@@ -13,13 +13,33 @@
*/
let dauerverbindung = null;
let lebenszeichen = null;
export function verbindungHalten() {
if (dauerverbindung) return;
try {
dauerverbindung = browser.runtime.connect({ name: "dialog" });
dauerverbindung.onDisconnect.addListener(() => {
dauerverbindung = null;
if (lebenszeichen) {
clearInterval(lebenszeichen);
lebenszeichen = null;
}
});
// Zusätzlich regelmäßig ein Lebenszeichen senden. Die offene
// Verbindung allein hat sich als nicht ausreichend erwiesen: Bei
// mehreren Dateien hintereinander wurde die Ereignisseite trotzdem
// beendet. Ein tatsächliches Ereignis alle 15 Sekunden setzt die
// Untätigkeitsuhr zuverlässig zurück.
lebenszeichen = setInterval(() => {
try {
dauerverbindung?.postMessage({ befehl: "lebenszeichen" });
} catch {
clearInterval(lebenszeichen);
lebenszeichen = null;
}
}, 15000);
} catch (err) {
console.warn("[paperless] Dauerverbindung nicht möglich:", err);
}