v1.16.0 adds a minimum viewing time setting for brief playback checks and includes the History and reliability fixes made since v1.15.3.
Added
Under Settings > Exclusions > Short plays, set Minimum viewing time in seconds. For example, use 60 or 120 seconds to keep quick encoding or HDR checks out of History and the related statistics.
- The default is 0, preserving the current behavior.
- Shorter plays are hidden from History, Statistics, Trending, Most Watched, library activity and CSV exports. This applies to all media, including music.
- Records stay saved. Lowering the threshold makes them visible again, and a current play appears once its measured viewing time reaches the threshold.
- The cutoff uses sampled viewing time rather than playback position. Pauses and skipped portions do not count as time watched; the measurement is limited by polling.
- Older records without measured viewing time remain visible. Active live sessions and playback-start alerts are unchanged.
Set the value to 0 before exporting if you want short plays included in a backup. This setting is saved in Jellydash's database and does not need an environment variable.
Thanks for the suggestion in #33.
Fixed
- Replaying a finished item within the same Jellyfin session now creates a separate play instead of replacing the completed viewing.
- Playback samples captured while a native History restore holds the database are queued and retried afterward, including when playback has already ended. Their original observation times are preserved.
- Stale or queued background-theme classifications no longer overwrite newer decisions. Theme-only observations do not create plays, and cached reads do not count as fresh playback samples.
- Long titles, usernames, library names, client names and device names retain their full supported values on MariaDB. Invalid metadata for one stream no longer discards the remaining collection batch. Optional enrichment failures also leave playback recording intact.
- Jellyseerr retries missing titles, years and posters after metadata lookup failures, including older placeholder requests, while preserving status and notification state.
- Logout clears the local session even when remembered-login revocation or authentication startup fails.
- Logging failures no longer replace the intended error response. Array-shaped CSRF tokens return 419 instead of causing a server error.
- Invalid SSL verification flags are rejected instead of silently disabling verification. Check
JELLYFIN_VERIFY_SSL,JELLYSEER_VERIFY_SSLandSAB_VERIFY_SSLif a connection reports an invalid boolean value after updating.
Updating
Schema updates run automatically on first use and preserve existing data. No manual SQL import or new required setting is needed.
Pending History samples use var/cache/history-samples in the existing runtime volume. Custom deployments that set HISTORY_SAMPLE_QUEUE_DIR must keep that directory writable and persistent. Before migrating between databases, let any restore finish and allow a successful collection pass to record queued samples. See the History CSV guide.
For Compose installations using a rolling image tag:
docker compose pull && docker compose up -dIf you pin the image version, use ghcr.io/themartz90/jellydash:1.16.0. On Unraid, use the normal container update.