WebOffice - XSLT-Fix fuer Chrome/Edge/Firefox (Bug 408325)              Stand: 2026-09-28, Version 408325-2
======================================================================================================================

DEUTSCH
-------
Problem:
  Chrome und Edge (Chromium ab Version 153) blenden in WebOffice Administration (SynAdmin) und im HTML-Client in jeder
  Tabelle/Liste den Hinweis "This site uses XSLT; that functionality is being removed ..." ein; Tabellenzeilen werden
  verdraengt. Ab Chrome/Edge 158 (17.11.2026) ist XSLT abgeschaltet - diese Tabellen funktionieren dann nicht mehr.

Loesung:
  WebOffice verwendet fuer XSLT den offiziellen, von Google empfohlenen XSLT-Polyfill (WebAssembly, BSD-3-Clause) statt
  der browsereigenen XSLT-Funktion - in Chrome, Edge und Firefox (Firefox plant ebenfalls die Entfernung von XSLT).
  Getestet mit Edge 154 und Firefox 156. Internet Explorer bleibt unveraendert.

Gueltig fuer:
  WebOffice 10.8, 10.9, 10.9 R2, 10.9 R3, 10.9 R4, 10.9 R5 (die betroffene Datei ist in allen Versionen identisch).

Installation:
  <WebOffice> = Verzeichnis der WebOffice-Webanwendung im Tomcat, z. B. C:\Tomcat\webapps\WebOffice

  1. Sicherung anlegen:
       <WebOffice>\client\JSX\js\JSX30.js  ->  z. B. JSX30.js.bak (ausserhalb von webapps ablegen)
  2. Aus diesem ZIP kopieren (Ordnerstruktur beibehalten):
       client\JSX\js\JSX30.js                              -> <WebOffice>\client\JSX\js\JSX30.js   (ersetzen)
       client\JSX\js\xslt-polyfill\xslt-polyfill.min.js    -> <WebOffice>\client\JSX\js\xslt-polyfill\ (neuer Ordner)
       client\JSX\js\xslt-polyfill\LICENSE                 -> <WebOffice>\client\JSX\js\xslt-polyfill\
  3. Ein Neustart von Tomcat ist nicht erforderlich.
  4. Im Browser den Cache leeren bzw. SynAdmin mit Strg+F5 neu laden.

Pruefung:
  SynAdmin in Chrome/Edge/Firefox oeffnen -> Reiter "Projekte" und "Lizenz": kein roter Hinweis, alle Zeilen sichtbar.

Hinweise:
  - Wurde die Content-Security-Policy in application_config.xml angepasst und enthaelt script-src weder 'unsafe-eval'
    noch 'wasm-unsafe-eval', muss 'wasm-unsafe-eval' ergaenzt werden (Standardkonfiguration: nicht noetig).
  - Rueckbau: gesicherte JSX30.js zurueckkopieren und Ordner xslt-polyfill loeschen.
  - Ab den naechsten Sammelpatches fuer 10.9 R4/R5 ist der Fix enthalten.


ENGLISH
-------
Problem:
  Chrome and Edge (Chromium 153+) show "This site uses XSLT; that functionality is being removed ..." in every table/list
  of WebOffice Administration (SynAdmin) and the HTML client, pushing table rows out of view. From Chrome/Edge 158
  (2026-11-17) XSLT is disabled and these tables stop working.

Fix:
  WebOffice uses the official XSLT polyfill recommended by Google (WebAssembly, BSD-3-Clause) instead of the browser's
  built-in XSLT - in Chrome, Edge and Firefox (Firefox also plans to remove XSLT).
  Tested with Edge 154 and Firefox 156. Internet Explorer is unchanged.

Applies to:
  WebOffice 10.8, 10.9, 10.9 R2, 10.9 R3, 10.9 R4, 10.9 R5 (the affected file is identical in all versions).

Installation:
  <WebOffice> = folder of the WebOffice web application in Tomcat, e.g. C:\Tomcat\webapps\WebOffice

  1. Back up <WebOffice>\client\JSX\js\JSX30.js (store the copy outside of webapps).
  2. Copy from this ZIP, keeping the folder structure:
       client\JSX\js\JSX30.js                              -> <WebOffice>\client\JSX\js\JSX30.js   (replace)
       client\JSX\js\xslt-polyfill\xslt-polyfill.min.js    -> <WebOffice>\client\JSX\js\xslt-polyfill\ (new folder)
       client\JSX\js\xslt-polyfill\LICENSE                 -> <WebOffice>\client\JSX\js\xslt-polyfill\
  3. No Tomcat restart required.
  4. Clear the browser cache or reload SynAdmin with Ctrl+F5.

Check:
  Open SynAdmin in Chrome/Edge/Firefox -> tabs "Projects" and "License": no red notice, all rows visible.

Notes:
  - If the Content-Security-Policy in application_config.xml was customized and script-src contains neither
    'unsafe-eval' nor 'wasm-unsafe-eval', add 'wasm-unsafe-eval' (not needed with the default configuration).
  - Rollback: restore the backed-up JSX30.js and delete the xslt-polyfill folder.
  - The fix is included in the next cumulative patches for 10.9 R4/R5.
