![]()
diff --git a/packages/tesm-core/pyproject.toml b/packages/tesm-core/pyproject.toml
index 3d38d4c..45cde2d 100644
--- a/packages/tesm-core/pyproject.toml
+++ b/packages/tesm-core/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "tesm-core"
-version = "2.8.14"
+version = "2.8.15"
description = "Gemeinsames Anwendungsgeruest (Auth, RBAC, Navigation, Design-System, Migrationen) fuer TESM und TESM-Lizenzserver"
requires-python = ">=3.11"
dependencies = [
diff --git a/packages/tesm-core/src/tesm_core/static/tesm_core/js/viewer.js b/packages/tesm-core/src/tesm_core/static/tesm_core/js/viewer.js
index 8b2c120..ee7dbe1 100644
--- a/packages/tesm-core/src/tesm_core/static/tesm_core/js/viewer.js
+++ b/packages/tesm-core/src/tesm_core/static/tesm_core/js/viewer.js
@@ -960,15 +960,22 @@ export function initFilePreview(wurzel = document) {
const ersetzenFeld = stueck("ersetzen");
const ersetzenKasten = stueck("ersetzenfeld");
const pruefzeile = stueck("pruefung");
- // Die Ordner der geoeffneten Freigabe kommen mit der Seite; die einer
- // anderen holt das Auswahlfeld bei Bedarf nach.
- const eigeneOrdner = () => {
- try {
- return JSON.parse(rumpf.dataset.viewerOrdnerliste || "[]");
- } catch {
- return [];
- }
- };
+ // Die Ordner der geoeffneten Freigabe stehen bereits in der Auswahl -- der
+ // Server hat sie dort hineingeschrieben. Gemerkt werden sie trotzdem, denn
+ // wer zwischendurch eine andere Freigabe waehlt, ersetzt die Liste; die
+ // einer anderen Freigabe holt das Auswahlfeld dann bei Bedarf nach.
+ //
+ // Vorher stand dieselbe Liste ein zweites Mal daneben, als JSON in einem
+ // Attribut -- und kam dort nie an: ``tojson`` laesst doppelte
+ // Anfuehrungszeichen stehen, und in einem doppelt gequoteten Attribut endet
+ // der Wert damit nach der oeffnenden Klammer. Die Auswahl zeigte danach nur
+ // noch das Wurzelverzeichnis, und in einen Unterordner liess sich nichts
+ // mehr speichern. Zwei Fassungen derselben Liste waren die eigentliche
+ // Ursache; jetzt gibt es nur noch eine.
+ const gelieferteOrdner = ordnerFeld
+ ? [...ordnerFeld.options].map((eintrag) => eintrag.value).filter(Boolean)
+ : [];
+ const eigeneOrdner = () => gelieferteOrdner;
const jetzt = stueck("jetzt");
const abbrechen = stueck("abbrechen");
const modusFeld = stueck("modus");