github midasvo/ephyra v2.4.1
Ephyra v2.4.1

34 minutes ago

A release of fixes, from a full run-through of the app on phone, tablet and TV. Playback copes
better with a lost or stalled connection, above all on mpv. Downloads are only offered where the
server allows them and say why one was refused. Artwork you have already seen is shown from the
cache instead of being checked with the server again. And the detail pages are tidier: the file
details moved behind an info chip, and the credits are off until you ask for them.

Changed

  • Movie and episode pages: an info chip at the end of the badge row opens a Media info sheet
    with the file, its video, audio and subtitle tracks, and each version when there are several.
    It replaces the "Display Extra Info" setting and the lines of text it put on the page (#510).
  • Movie and show pages: genres are one line under the overview, and the director, writers and
    studios a small table. That table is now off by default: turn on "Director and writers" and
    "Studios and networks" in Settings → Interface → Detail pages to see it, on TV too (#510).

Fixed

  • Artwork: posters older than a year were checked with the server every time they were shown,
    and stayed grey when the server could not be reached. They now come from the cache (#370).
  • Player: a lost connection on mpv is reported as an error, instead of closing the player,
    marking the item watched or starting the next episode (#445).
  • Player: a stalled stream on mpv recovers or reports an error after 30 seconds, instead of
    freezing for good (#460).
  • Player: a stream that fails to open on mpv is reported, and picking another episode in the
    player works again (#446, #453).
  • Player: the phone player closes when nothing could be loaded, instead of staying black (#374).
  • Player: an episode whose download has not finished is streamed instead of failing (#454).
  • Player: the stop is reported to the server for an item you leave while it is still loading
    (#461).
  • Player: the "still watching?" countdown shows the time really left (#367).
  • Player: keyboard focus is visible on the controls, and Space no longer presses a control the
    keyboard did not choose (#448, #449).
  • Player: auto-enter picture-in-picture stays off when the PiP home gesture is off (#447).
  • Playback through a server on a sub-path: the address and the transcode path are joined with
    one slash (#444).
  • Downloads: Download is only offered where the server allows it, and a refused download says
    why (#373, #383).
  • Downloads: the notification permission is asked for when a download starts (#372).
  • Downloads: a cancelled download that was not running is removed (#426).
  • Home: a failed load is explained in plain words instead of a stack trace, and a change to the
    Home rows shows without a pull to refresh (#377, #431).
  • My media: an error with Retry when the network drops, loading again when it returns; the
    search stays open after a rotation or theme switch; Tab skips the closed search bar (#427,
    #387, #430).
  • Library: it loads again after the app was killed in the background (#371).
  • Detail pages: a cast card's name and role open the person, as its picture does (#389).
  • Tablet: an episode's still is stacked above its text in a narrow pane, and the buttons wrap
    (#429).
  • Setup: the server address is trimmed before connecting, adding a saved server again keeps its
    user signed in, Login opens empty after a sign-out, and a cancelled Quick Connect code is
    cleared (#404, #425, #388, #382).
  • Profiles: removing the current user in Settings no longer crashes the app (#381).
  • Settings: the licence text opens on the phone, and the device profile can be exported on
    Android 11 and later (#384, #385).
  • The app tells the server its real version (#386).
  • TV: an error with Retry when Home or an item page fails to load, instead of a blank page or an
    endless spinner (#405).
  • TV: the person page opens at the top, with the name and the whole biography (#407).
  • TV: playback progress is reported from the TV player, and the OK press that shows the player
    controls no longer also acts on them (#458, #459).

Maintenance

  • Migration tests for every released database schema (#380).

What's Changed

  • docs(audit): add the static checks report (#351) by @midasvo in #366
  • docs(audit): add the feature checklist (#352) by @midasvo in #368
  • ci(beta): skip the beta build when a release PR is merged by @midasvo in #369
  • docs(audit): add the Android version matrix report (#357) by @midasvo in #378
  • docs(audit): fill in the checklist for phone, tablet and TV, add the upgrade report (#353, #354, #355, #358) by @midasvo in #457
  • docs(audit): fill in the TV player columns of the checklist (#356) by @midasvo in #465
  • docs(audit): add the audit report, ranked list and fix order (#360) by @midasvo in #466
  • fix(playback): join the server address and transcode path with one slash (#444) by @midasvo in #467
  • fix(navigation): removing the current user no longer crashes the app (#381) by @midasvo in #468
  • fix(player): report a replaced playlist on mpv so picking an episode works (#453) by @midasvo in #469
  • fix(player): stream an episode whose download has not finished (#454) by @midasvo in #470
  • fix(downloads): remove a cancelled download that was not running (#426) by @midasvo in #471
  • fix(player): close the phone player when nothing could be loaded (#374) by @midasvo in #472
  • fix(player): report a lost connection on mpv as an error, not the end of the item (#445) by @midasvo in #473
  • fix(player): report the stop for an item left while it was loading (#461) by @midasvo in #475
  • fix(player): keep the still-watching countdown on the time really left (#367) by @midasvo in #476
  • fix(player): keep auto-enter PiP off when the PiP home gesture is off (#447) by @midasvo in #479
  • fix(player): Space never closes the player; keyboard focus is visible (#448, #449) by @midasvo in #481
  • fix(library): load the library after the app was killed in the background (#371) by @midasvo in #482
  • fix(setup): adding a saved server again keeps its user signed in (#425) by @midasvo in #483
  • fix(media): show the error with Retry after a network drop (#427) by @midasvo in #484
  • fix(player): give mpv a 30 s network timeout so a stalled stream recovers (#460) by @midasvo in #485
  • fix(home): show a Home rows change on Home without a pull to refresh (#431) by @midasvo in #487
  • fix(media): keep the search open after a rotation or theme switch (#387) by @midasvo in #488
  • fix(player): report a stream that fails to open on mpv, whatever the event order (#446) by @midasvo in #489
  • fix(setup): open Login empty after a sign-out, without the old password (#388) by @midasvo in #490
  • fix(settings): export the device profile on Android 11 and later (#385) by @midasvo in #492
  • fix(data): tell the server the installed app's version (#386) by @midasvo in #491
  • test(data): Room migration tests for the released schemas (#380) by @midasvo in #493
  • fix(downloads): ask for the notification permission when a download starts (#372) by @midasvo in #494
  • fix(tv): report playback progress from the TV player (#458) by @midasvo in #495
  • fix(downloads): offer Download only where the server allows it (#373) by @midasvo in #496
  • fix(downloads): show why the server refused a download (#383) by @midasvo in #497
  • fix(tv): take the key-up of an OK that showed the player controls (#459) by @midasvo in #498
  • fix(home): explain a failed load in plain words, not a stack trace (#377) by @midasvo in #499
  • fix(setup): clear the Quick Connect code when it is cancelled (#382) by @midasvo in #501
  • fix(film): open the person from a cast card's name and role (#389) by @midasvo in #502
  • fix(settings): open the licence text on the phone (#384) by @midasvo in #503
  • fix(setup): trim the server address before connecting (#404) by @midasvo in #504
  • fix(tv): show an error with Retry when Home or an item page fails to load (#405) by @midasvo in #506
  • fix(tv): hide the Display Extra Info switch on TV (#406) by @midasvo in #507
  • fix(tv): open the person page at the top with name and biography (#407) by @midasvo in #509
  • fix(images): show cached artwork without asking the server again (#370) by @midasvo in #511
  • fix(tablet): stack the episode's still above its text in a narrow pane and wrap the buttons (#429) by @midasvo in #512
  • fix(media): Tab passes over the closed search bar to the library cards (#430) by @midasvo in #519
  • feat(details): media info sheet from an info chip, and tidier credits (#510) by @midasvo in #518
  • chore(release): v2.4.1 by @midasvo in #521

Full Changelog: v2.4.0...v2.4.1

Which APK? ephyra-v<version>-libre-<abi>.apk is for phones and tablets,
ephyra-v<version>-libre-tv-<abi>.apk for Android TV. Most phones need arm64-v8a;
32-bit TV boxes such as the Xiaomi Mi Box need armeabi-v7a. In Obtainium, filter the TV APK
with .*-tv-armeabi-v7a\.apk.

Don't miss a new ephyra release

NewReleases is sending notifications on new releases.