Repository navigation
Polyfin 0.36.0
Image: ghcr.io/moodiness/polyfin:0.36.0 (linux/amd64, linux/arm64), digest sha256:ce5fbc21dc81d673e4c9b14d304ab7f65ede740cdf8c490c94f5cc9224005229. It includes jellyfin-web, unmodified, under the GPL-2.0: its complete source is attached.
New
- A Watchlist view (« À regarder » in French), one per user, in every Jellyfin app beside the libraries, with its row on the home screen: the movies and series of Trakt's watchlist and Simkl's Plan to Watch (Import my watchlist, a switch of each service, off by default) and of Stremio and Nuvio libraries, the latest added first. A title leaves it once started, as it then shows in Continue Watching or Next Up, or once no list holds it. Imports from Stremio and Nuvio now put a library there instead of setting favorites. See The watchlist.
- Choose how often connected accounts are imported. Import connected accounts every, under Settings › Security, from 15 minutes to 24 hours, 6 hours by default, for Stremio and Nuvio connections and tracking services' histories alike. A change applies at once, and My account › Tracking now shows each service's next import. See How often connected accounts are imported.
- Intros and credits found in local episodes' audio. When neither its chapters nor the community databases give an episode of a local folder its intro or credits, Polyfin compares the audio its season's episodes share, in the background, once one of them plays: the season's skip buttons follow, a scene after the credits left out. Find intros and credits in local episodes' audio, under Settings › Content, is on by default. See Intros and credits found in local episodes' audio.
- Addon subtitles synced to the version played. An addon subtitle that runs early or late, or was timed for another frame rate (23.976, 24 or 25 fps), is shifted and stretched to when the version has speech, found once per version: a subtitle track inside the file, else the voice in its audio. It is changed only when it fits clearly better, and its name then says "(synced)" (« (recalé) »). Sync addon subtitles, under Settings › Playback, is on by default. See Addon subtitles synced to the version.
- Change what a folder holds without removing it. It holds, in a folder's settings on its page under Sources: movies, shows, music or home videos. The folder keeps its library with its identifier, its address and its settings, and is scanned again as the new kind; played marks and favorites follow its files, and a resume point moves with its file. The admin app says what follows and what is dropped first. See Changing what a folder holds.
- Home videos keep their title when renamed or moved, within a folder or to another Home videos folder, whichever is scanned first: Polyfin recognizes a video by its contents, and its watch state, resume point, favorites and collections stay. See Home videos.
- Series recordings keep to their days and skip episodes already recorded. A series timer records only on the days it lists, in the server's time zone; with new episodes only, it reads the guide's new and previously-shown marks, else skips an episode it already recorded in full. Apps' guides now show which programmes are repeats. See Recordings.
- A month and a year in review, beside the weekly summary: on the 1st of each month, and on the 1st of January, the server's review and each user's own, to any target. See Month in review and Year in review.
- Told when a connection stops. When Stremio or Nuvio refuses the sign-in a connection kept, or a tracking service refuses a user's token or key, the user's targets and the server's are told once, and System › Health lists the connections stopped. See Stopped connections.
- Told of blocked accounts and sign-ins on new devices. The wrong password that blocks an account is told to the server's targets, administrators' and the user's own; a sign-in on a device an account never used is told to the user's own targets. See Blocked accounts and Sign-ins on new devices.
- Accounts that end on a date. Ends on, on a user's page, and Accounts end, on invite links: from that date, the account is refused as a disabled one, with everything it has kept, and a later date brings it back. Administrators never end. See Ending an account.
- Deleting a user signs out what Polyfin opened for them, in the background: the Stremio keys it obtained, its Nuvio sessions, and Trakt and Simkl tokens. See Deleting a user.
- Known proxies by name, such as a reverse proxy's container name on a Docker network, looked up every minute and at once when an unknown local address forwards requests; System › Health shows what each name resolves to. See Proxies by name.
- Metrics for Prometheus at
/metrics, with a token Polyfin makes, while Expose metrics is on under Settings › General: playbacks, conversions, addon requests, imports, notifications, HTTP requests and scans, with nothing personal in their labels. See Metrics. - A Docker health check. The image checks that Polyfin answers every 30 seconds, and every 2 seconds while it starts, so that Docker, Unraid and Traefik see it healthy within seconds. See Health check.
- Seeks in MPEG-TS files remember how far back to start: recordings, catch-up programmes and
.tsfiles keep what a first seek learned, so later playbacks' far seeks take one FFmpeg start. See HLS segments.
Fixed
- Apps that look for a Jellyfin server under
/jellyfinfind Polyfin there. The Jellyfin API, its WebSocket and the web client answer under/jellyfinas at the root; the admin app stays at the root only. Such an app's first try logged "An app asked for something Polyfin does not serve". See Compatible apps. - Addons' collection libraries list their titles in apps that ask a library for its movies and series recursively. The answer was empty, so such apps showed none of these libraries, and on a server with only these, no library at all.
- A version dropped by asking an addon again, or by Refresh metadata, no longer comes back when something read the title's versions at that moment.
- Continue Watching lists a file once after its folder changes what it holds, and leaves out home videos no folder holds any more.
- French copy: the Sources list says « Dossier local » and « Partage SMB » for folders and shares, and names after « en tant que » now read « Connecté avec le compte … ».
Upgrading
- Database: the update runs its database changes on its first start; there is nothing to do.
- Stremio and Nuvio libraries go to the Watchlist from the next import; the favorites earlier imports set stay favorites.
- Home videos are read once by the first scan after the update (the first and last MiB of each), so that they can be recognized when renamed; a video renamed before that scan becomes a new title.
- On by default: Find intros and credits in local episodes' audio reads the start and end of a season's local episodes once, after one of them plays; Sync addon subtitles reads, at a version's first play, its subtitle track or a few minutes of its audio, at most 300 MB from an addon's file. Both work in the background and can be turned off.
- Docker health check: Traefik leaves out a container while it starts, so Polyfin joins Traefik's routes about 2 seconds after it answers with Docker 25 or later, up to 30 with an older Docker.
--no-healthcheckturns it off. - Notifications: targets that had the weekly summary also have the year in review. The month in review is chosen on no target; connections stopped, blocked accounts and sign-ins on new devices are chosen on new targets: choose them on existing targets to receive them.
What's Changed
- feat: give the image a Docker health check by @moodiness in #335
- feat: recognize known proxies by name by @moodiness in #336
- feat: choose how often connected accounts are imported by @moodiness in #338
- feat: send a month and a year in review by @moodiness in #340
- feat: let accounts end on a date by @moodiness in #341
- feat: tell users when an app or tracking connection stops by @moodiness in #342
- feat: keep a home video's title when it is renamed or moved by @moodiness in #337
- feat: remember how far back seeks start in MPEG-TS files by @moodiness in #339
- feat: series recordings keep to their days and skip episodes already recorded by @moodiness in #343
- feat: find intros in the audio of local episodes by @moodiness in #344
- feat: sign out what Polyfin opened when a user is deleted by @moodiness in #345
- fix: answer apps under /jellyfin, and list collection libraries' titles when asked for titles by @moodiness in #350
- feat: sync addon subtitles to the version played by @moodiness in #349
- feat: tell of blocked accounts and sign-ins on new devices by @moodiness in #346
- feat: change what a folder holds without removing it by @moodiness in #351
- feat: find credits in the audio of local episodes by @moodiness in #352
- feat: add a Watchlist view fed by Trakt, Simkl, Stremio and Nuvio by @moodiness in #347
- feat: expose metrics for Prometheus by @moodiness in #348
- fix: never restore a stream list dropped by asking again or a refresh by @moodiness in #353
- fix: move a file's resume point with it when its folder changes kind by @moodiness in #354
- fix: notification intros, folder kind confirmation and French copy found before 0.36.0 by @moodiness in #356
- test: wait for the analyses PlaybackInfo leaves running in the quality group test by @moodiness in #357
- fix: keep a disconnected connection's library off the Watchlist by @moodiness in #358
- fix: hold the speech read budget on what is fetched, and count only real scans by @moodiness in #359
Full Changelog: v0.35.0...v0.36.0