• v0.3.0 58f2506966

    JellyTau v0.3.0
    🏗️ Build and Test JellyTau / Run Tests (push) Successful in 16m59s
    Publish Documentation / Build & publish docs to gitea-pages (push) Successful in 5m36s
    Traceability Validation / Check Requirement Traces (push) Successful in 18s
    Build & Release / Run Tests (push) Successful in 5m9s
    🏗️ Build and Test JellyTau / Android Compile Check (push) Successful in 8m54s
    Build & Release / Build Linux (push) Successful in 18m49s
    Build & Release / Build Windows (push) Successful in 14m4s
    Build & Release / Build Android (push) Successful in 30m17s
    Build & Release / Create Release (push) Successful in 18s
    Stable

    dtourolle released this 2026-08-03 18:37:49 +00:00 | 188 commits to master since this release

    Features

    • Opening a series lands on the current episode, not season 1. The viewer was
      dumped at the top of season 1, and the Play button played nothing at all: it
      resolved the first season by SortName and navigated to /player/<seasonId>,
      which the player route bounced straight back to the library. The backend could
      already answer "where is this viewer in this show" — get_next_up_episodes had
      accepted a series_id since it was written and no caller had ever passed one.
      pick_current_episode now resolves in progress → Next Up → first unwatched →
      the premiere, with the third rung serving offline where Next Up is always empty,
      and specials sorted after the numbered seasons. Seasons collapse to the current
      one, the current episode is badged and scrolled into view, and the hero button
      reads Resume S2E4 / Play S1E1. Seasons stop being a destination — a season
      URL redirects into the series — and the "More Episodes" strip spans the whole
      series, so a finale offers the next premiere instead of dead-ending. Six video
      routes collapse to two via ?view= tabs. Clear-history is wired to Jellyfin's
      recursive mark-unplayed, and refuses to run offline rather than diverging state
      the next sync would undo. (UR-062, UR-063, UR-064 → DR-101, DR-102, DR-103,
      DR-104, DR-105, DR-106, DR-107)

    🐛 Fixes

    • Re-entering a video no longer opens the audio player. Closing a
      webview-rendered video deliberately emits no "stopped" state — that would break
      the autoplay handoff — and the direct-play path does not stop the backend on
      unmount, so the controller still reported that item as its loaded media.
      Re-entering took the "already playing, just show the UI" shortcut, which returns
      before a stream URL is fetched, and the render fell through to the audio
      surface. Mostly visible on Android, where video direct-plays; Linux transcodes
      and stops the backend on unmount. (DR-100)

    Downloads

    Platform File
    Android jellytau-release.apk — sideload or adb install
    Windows (portable) jellytau.exe
    Linux (Debian/Ubuntu) jellytau_0.3.0_amd64.debsudo dpkg -i
    Windows jellytau_0.3.0_x64-setup.exe (NSIS installer)

    Report a problem: https://gitea.tourolle.paris/dtourolle/jellytau/issues

    Downloads