Version 2.2.1: pdf.js unter .js -- .mjs kennt kein Webserver

This commit is contained in:
alientim committed 2026-09-09 22:06:15 +02:00
1 parent 2c3ca4acc1
commit 8c2cd10ee4
9 files changed
+23 -9

No files matched your search

+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "tesm"
version = "2.2.0"
version = "2.2.1"
description = "TESM -- Verwaltung und Ueberwachung von PoE-Endgeraeten und Aruba-Switchen"
requires-python = ">=3.11"
dependencies = [
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "tesm-core"
version = "2.2.0"
version = "2.2.1"
description = "Gemeinsames Anwendungsgeruest (Auth, RBAC, Navigation, Design-System, Migrationen) fuer TESM und TESM-Lizenzserver"
requires-python = ">=3.11"
dependencies = [
@@ -135,7 +135,7 @@ def create_base_app(
#: Wortmarke, ohne Zeile darunter; die Marke selbst zeigen beide
#: Anwendungen.
auth_tagline: str = "",
app_version: str = "2.2.0",
app_version: str = "2.2.1",
built_in_trusted_keys: tuple[str, ...] = (),
enable_license: bool = True,
template_folder: str | None = None,
@@ -16,6 +16,11 @@
*
* pdf.js liegt im Paket (static/vendor/pdfjs) und wird erst geladen, wenn
* wirklich ein PDF geoeffnet wird: 1,7 MB gehoeren nicht in jeden Seitenaufruf.
*
* Die Dateien heissen ".js" und nicht ".mjs": die mime.types von nginx kennen
* ".mjs" nicht und liefern "application/octet-stream" -- damit lehnt jeder
* Browser ein Modul ab, und zwar ohne dass der Benutzer erfaehrt, warum. Am
* Inhalt aendert die Endung nichts.
* ========================================================================== */
const MIN_ZOOM = 0.1;
@@ -145,17 +150,17 @@ let pdfjsGeladen = null;
async function pdfjsLaden(basis) {
if (!pdfjsGeladen) {
pdfjsGeladen = (async () => {
const lib = await import(`${basis}pdf.min.mjs`);
const lib = await import(`${basis}pdf.min.js`);
// Der Komponentenbau von pdf.js sucht die Bibliothek unter diesem Namen.
globalThis.pdfjsLib = lib;
const komponenten = await import(`${basis}pdf_viewer.mjs`);
const komponenten = await import(`${basis}pdf_viewer.js`);
// Das Stylesheet von pdf.js zeichnet die Formularfelder. 100 KB gehoeren
// nicht in jeden Seitenaufruf -- also erst hier.
const stil = document.createElement("link");
stil.rel = "stylesheet";
stil.href = `${basis}pdf_viewer.css`;
document.head.append(stil);
lib.GlobalWorkerOptions.workerSrc = `${basis}pdf.worker.min.mjs`;
lib.GlobalWorkerOptions.workerSrc = `${basis}pdf.worker.min.js`;
return { lib, komponenten };
})().catch((fehler) => {
pdfjsGeladen = null;
@@ -333,7 +338,11 @@ export function initFilePreview(wurzel = document) {
rahmen.src = quelle;
if (hinweis) {
hinweis.textContent =
"Dieses Geraet kann die Formularansicht nicht laden -- es bleibt bei der einfachen Anzeige.";
"Die Formularansicht liess sich nicht laden -- es bleibt bei der einfachen Anzeige.";
// Die Leiste traegt den Hinweis. "zeigen('text')" hat sie gerade
// verborgen -- ohne diese Zeile blieb der Fehlschlag unsichtbar, und
// es sah aus, als koennte die Vorschau einfach keine Formulare.
leiste.hidden = false;
}
}
};
@@ -1,6 +1,11 @@
pdf.js 4.10.38 -- https://github.com/mozilla/pdf.js
Aus dem npm-Paket pdfjs-dist; nur build/pdf.min.mjs, build/pdf.worker.min.mjs,
web/pdf_viewer.mjs, web/pdf_viewer.css und web/images. Apache-2.0, siehe LICENSE.
web/pdf_viewer.mjs, web/pdf_viewer.css, web/images und standard_fonts.
Apache-2.0, siehe LICENSE.
Die drei Skriptdateien sind von .mjs auf .js umbenannt: die mime.types von
nginx kennen .mjs nicht, und mit application/octet-stream lehnt jeder Browser
ein Modul ab. Der Inhalt ist unveraendert.
Warum eingebettet und nicht von einem CDN: TESM laeuft in abgeschotteten
Netzen. Was die Oberflaeche braucht, muss im Paket liegen.
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "tesm-licensing"
version = "2.2.0"
version = "2.2.1"
description = "Ed25519-basiertes Lizenz- und Aktivierungsprotokoll fuer TESM und TESM-Lizenzserver"
requires-python = ">=3.11"
dependencies = ["cryptography>=42"]