Optional Domain mit Port und ohne für Sharelinks

This commit is contained in:
2026-09-05 23:59:21 +02:00
parent 3ae0ab0a88
commit 172dd95387
7 changed files with 100 additions and 17 deletions

View File

@@ -14,7 +14,7 @@
import { PaperlessClient, PaperlessError } from "./lib/client.js";
import {
ladeEinstellungen, vollstaendig, sichererName, versionslabel,
titelAusBetreff, t
titelAusBetreff, zugriffsmuster, t
} from "./lib/settings.js";
/**
@@ -90,6 +90,12 @@ function alsDatum(wert) {
return Number.isNaN(d.getTime()) ? undefined : d.toISOString().slice(0, 10);
}
// Beim Laden eine Zeile ausgeben. Fehlt sie in der Konsole, ist das
// Skript gar nicht erst gestartet - und dann kommt bei jedem Aufruf aus
// einem Dialog nur "An unexpected error occurred".
console.info("[paperless] Hintergrundskript geladen",
browser.runtime.getManifest().version);
// Offene Dialoge, damit sie ihre Aufgabe abholen können.
const auftraege = new Map();
let naechsteAuftragsnummer = 1;
@@ -322,7 +328,7 @@ async function client() {
// Fehlersuche beim Netzwerk.
let origin;
try {
origin = new URL(s.baseUrl).origin + "/*";
origin = zugriffsmuster(s.baseUrl);
} catch {
throw new PaperlessError(t("errBadUrl"));
}
@@ -333,7 +339,7 @@ async function client() {
+ `In den Einstellungen erneut auf Speichern klicken - die Abfrage `
+ `kann nur aus einer Benutzeraktion heraus erscheinen.`);
}
return new PaperlessClient(s.baseUrl, s.token);
return new PaperlessClient(s.baseUrl, s.token, s.shareBaseUrl);
}
/**
@@ -347,7 +353,7 @@ async function client() {
async function berechtigungPruefen() {
const s = await ladeEinstellungen();
if (!vollstaendig(s)) return { noetig: false, erteilt: false };
const muster = new URL(s.baseUrl).origin + "/*";
const muster = zugriffsmuster(s.baseUrl);
const erteilt = await browser.permissions.contains({ origins: [muster] });
return { noetig: true, erteilt, muster };
}