Harden proxy permissions and cache behavior, streamline metadata fetching, remove obsolete rules, and validate the stable SDK with expanded regression coverage. Document backup format changes.
Browser Tests
These JF12-only integration tests create three temporary NFO movie fixtures,
seed deterministic Multilang data for their real Jellyfin IDs, and exercise
the ordinary web UI with Chromium. They cover proxy translation/fallback and
ordering, genre translation, per-user enablement, pre-cache population,
category-rule precedence, and both settings pages. The runner restores the
complete JF12 config, data, and cache volumes afterward. It refuses any target except
jellyfin12 on port 8097.
Install the ignored local dependencies once:
cd tests/browser
npm install
npx playwright install chromium
Run from the repository root with JF12 test-account credentials:
python3 tools/run_jellyfin12_browser_tests.py \
--base-url http://server.sedomain:8097 \
--username "$JELLYFIN_TEST_USER" \
--password "$JELLYFIN_TEST_PASSWORD" \
--ssh-host server.sedomain \
--state-root /mnt/apps-pool/Docker/Volumes/jellyfin12 \
--confirm-destructive
node_modules, browser artifacts, credentials, test results, and traces are
ignored. A failed run still restores the server state in a finally block; a
restoration hash mismatch intentionally leaves its remote snapshot in /tmp
for investigation.