Verbesserung Ablagedialog bei mehreren ausgewählten Dateien
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user