Repository navigation
ScreenHarbour 0.2.47 — lighter TV artwork and lazy backgrounds
Pre-releaseScreenHarbour 0.2.47 — prerelease
TV mode now uses smaller, more compressed photographic seasonal artwork. Backgrounds are 1280 × 480 at WebP quality 60, instead of 2048 × 768 at quality 90. Photographic doors and frames are 600 pixels high at quality 70, with frame transparency preserved. Desktop keeps the original artwork.
The Halloween Nightmare background drops from 186,758 bytes to 20,074 bytes (about 182 KiB to 20 KiB, an 89% reduction). Its decoded RGBA pixel data falls from roughly 6 MiB to 2.34 MiB. Across all seven photographic assets, individual download reductions range from 84% to 94%. These figures describe artwork costs, not total application memory or a measured improvement on the physical TV.
Seasonal backgrounds now load when their rows come within 300 pixels of the viewport. Direct focus or mouse hover loads immediately; editor previews stay eager. Missing or unavailable IntersectionObserver support falls back to immediate loading. Row geometry, titles and items remain present while background artwork waits, and loaded backgrounds remain available during navigation. No fixed delay is added.
Existing settings, collection positions, seasonal dates, doors, frames, parallax and expansion choices are preserved. The Chromium 79 sizing-loop fix from 0.2.46 remains included. No extra transparency or opacity change is used to disguise the artwork; CSS opacity would not reduce downloaded bytes or decoded dimensions.
Update
Update ScreenHarbour, restart Jellyfin, then fully reload browsers or close and reopen web-based TV clients. Keep File Transformation enabled.
| Jellyfin server | Plugin version |
|---|---|
| 10.10.7 | 0.2.47.1 |
| 10.11.x | 0.2.47.2 |
| 12.x | 0.2.47.3 |
The existing catalogue remains:
https://raw.githubusercontent.com/jampez77/ScreenHarbour/main/manifest.json
Plugin identity, assembly, API routes and storage keys are unchanged. TV image variants use separate URLs so previously cached desktop images remain valid. Artwork can be regenerated with bash scripts/optimize-seasonal-art.sh using cwebp.
Validation
- Typecheck and all 248 unit tests passed.
- 68 browser checks passed: nine new tests for lazy requests, direct focus, unsupported observers, mounted/staged cleanup, previews and TV/desktop asset selection, plus 59 existing seasonal, frame-fit, navigation, editor, graphics-layer and Chromium 79 rounding-regression checks. One optional external native-CSS fixture was skipped.
- All 735 server checks passed against Jellyfin 10.11.0, including HTTP bytes, caching and conditional requests for all 14 embedded seasonal images.
- All seven smaller assets were visually inspected. Frame alpha remains present; the seven desktop images are unchanged. The reproducible encoder script passes shell syntax validation.
- Packages are built for all three supported Jellyfin targets and verified against their client bundle, embedded artwork, assembly identity/version, MD5/SHA-256 and catalogue entries. All 141 historical catalogue entries are retained unchanged.
- Physical LG webOS responsiveness needs confirmation after installation. This release isolates the requested artwork reduction and loading changes; it does not disable or shorten expansion animations.