- only a missing store counts as a fresh install; read errors no longer reopen the password setup
- read aliceflix.secure.json when omniarr.secure.json does not exist yet
- save the settings when loading the jellyfin users in onboarding
- show a short message instead of the proxy's html on 502, 503 and 504
- keep a wishlist per profile and add admin backup export and import
Downloads rows now open the title details, and cards without a Jellyfin id
are linked to the library by TMDb id. Also hide the empty profiles card on
the Jellyfin setup, fall back to the setup when there are no users, and drop
the back button when Jellyfin is unavailable.
Replace the single save button with a check on every settings card that
saves and re-checks the service, always list every service under
Connections, warn when Sonarr or Radarr accept any API key, and accept
the TMDb v3 API key as well as the read access token.
Movies were added to Radarr unmonitored, seasons of a series new to Sonarr
were unmonitored again by Sonarr's post-add step, and single episodes were
never monitored, so nothing was grabbed later when no release was out yet.
Monitor exactly the movie, season or episode requested, sending the season
flags when adding a series so Sonarr keeps them.
Unmonitor a season before deleting its files, and cancel downloads without
redownloading while unmonitoring their episodes, so neither comes back.
Jellyfin is required: when it is not set up or unreachable, show a screen
saying so with a retry instead of an empty profile list. Sonarr and Radarr
are optional, so hide the actions and pages that need them when they are not
configured, and keep options and the dashboard loading when one is down.
Connection statuses now say whether a service is configured, optional or half
filled in. The status dot only turns red for real failures, and Settings
marks optional services and shows unconfigured ones in grey.
Remove the Load users button and user selector from Settings, which only set
the user an admin session browsed as. The Jellyfin user now always comes from
the profile the session signed in with, and a value saved by older versions
is ignored.
Some mobile browsers fire a click when a scroll gesture ends over a poster,
which opened it by accident. Swallow clicks from touches that moved or while
a scroll is still settling, so only real taps reach the app.
Group and format calendar entries in the browser's time zone, with a picker
to override it per device. Keep movie release dates on their day, and fetch
the whole month so entries on the last day are no longer dropped. The picker
follows the season selector's style and uses the native select on phones.
Use X-Forwarded-For or X-Real-IP when the connection comes from a private
network, so failed logins through a reverse proxy no longer lock out every
user.