Apollo v1.11.0
Your year, described — and Continue Watching finally telling the truth.
Continue Watching updates when you leave
Reported as "it only saves my place if I pause", and then, more usefully, as "the time left does not change until I refresh".
The second one is what explained it. The position was always being saved. The server had it. The card on the home page is drawn from a cache, and nothing in the player ever told that cache it was out of date — so the shelf kept showing the time remaining from before, until a reload happened to ask again. It also explains why pausing appeared to help: it did not save on pause either, but pausing is what people do before switching away, and switching back is what makes the page fetch again.
Leaving the player now refreshes the shelves it affects. Watched from 5 minutes in to 13, the card goes from "19m left" to "10m left" without a reload anywhere.
Three real faults turned up alongside it. Pausing reported nothing at all, so the position was only recorded by the ten-second heartbeat — it now reports the moment you pause, and the moment the tab or the app is hidden. The back arrow could leave the app entirely if you had opened the video directly or refreshed on it, and a page being torn down never gets to say where you had reached. And a sendBeacon meant to cover a closing tab had never worked in its life: a beacon cannot send the content type Jellyfin requires. A keepalive request in its place did not work either. Both are gone rather than left as reassurance.
One thing that is not the client's doing, in case it looks like this: Jellyfin itself keeps no resume point below 5% of an item's runtime or above 90%. Stopping a minute into a twenty-four minute episode, or a minute from the end, is meant to leave nothing behind.
The year recap says what kind of year it was
After the totals, a line about who you were while you watched them — and a few smaller ones beneath it. Thirteen of them, from the rarest signal to the commonest, because a year that is 8% one thing and 76% another is more interesting for the 8%.
Anime is told apart from cartoons properly, which took fixing something underneath: Jellyfin does not copy a show's genres onto its episodes, so a year of anime counted no anime at all — the word is on the series and nowhere else. Of 400 episodes sampled from one library, exactly one carried any genre. The shows behind a year are now looked up once and their genres folded in, which also means the top-genres panel describes the year rather than whichever handful of episodes happened to be tagged.
A year with fewer than ten things in it gets no label. Four evenings is not a personality.
Full changelog: v1.10.2...v1.11.0