Skip to content

Release 1.8.0 - #174

Merged
retransmit merged 34 commits into
mainfrom
development
Oct 2, 2026
Merged

retransmit merged 34 commits into
mainfrom
development

Conversation

@retransmit

Copy link
Copy Markdown
Owner

Radarr collection monitoring, qBittorrent private and public badges, renaming a profile from its card, the Ombi restyle, Navidrome, Lidarr and Unraid out of beta, and fixes. Build 24, version codes 241, 242 and 243.

retransmit and others added 30 commits September 22, 2026 01:52
The name given when a profile was created was final, so the one the app
makes on first run stayed "Default" for good. Each card now has a menu
with Rename and Delete; Rename opens the name dialog with the current
name filled in and saves the trimmed result, while empty or unchanged
input does nothing. Delete stays disabled on the last profile. The dialog
owns its text controller and disposes it, which the create path never
did.
…earch

Ombi now builds its own screen: a bottom bar for Requests and Discover,
search in the app bar, and a back press that returns to Requests before
it leaves. The service shell hands it the drawer and returns it early.

Requests: the filter chips say how many requests each holds for the
chosen kind, All comes first, and a kind opens on Pending only when
something is waiting. Each request is a card with a larger poster, the
year, who asked and when, a status pill, the 4K tag and, for a show,
which seasons and how many episodes are in. A pending card carries Deny
and Approve across its foot, and tapping a card opens its title.

Discover cards show the year, the score and whether the title is
requested or available. The title sheet opens with what the list knew
and fills in a backdrop, tagline, runtime, genres, network and status
from Ombi's title page. Search results are cards with a poster, the kind
and the opening of the overview.

Album covers are drawn square, and posters are fetched at w342.
Ombi stamps movie and TV requests in UTC and sends the date with no zone
on it, so it was parsed as local time and a request made minutes ago
read as hours old anywhere off UTC. A date with no zone is now taken as
UTC, one that names its zone is left alone, and albums stay local, since
Ombi stamps those in its own local time.
Ombi clears the denied flag when a denied request is approved after all
and leaves the old reason on it, so the reason showed under Processing
Request or Available.
- Add private boolean field to QbitTorrent model
- Create _PrivacyBadge widget with lock/globe icons
- Display badge next to state pill in torrent cards
- Display privacy badge in overview tab metadata section
- Uses same styling as download/upload speed pills
- Shows lock icon for private, globe icon for public torrents
… says which

qBittorrent carries `private` in the torrent list from 5.0 only, and
sends null there until a magnet has its metadata. With a false default
every torrent on a 4.x server read as Public, private ones included, and
so did every magnet still fetching its metadata. The field is nullable
now and the badge is left out when it is null.

A torrent's own screen reads it from the properties it already loads
rather than from the list's row, so it is also shown on 4.5.1 to 4.6,
which answer there as `is_private`. That key reads false for any torrent
with no metadata, so it only counts once the torrent has pieces.
On a 360dp wide phone a downloading torrent's header put both speeds,
the privacy pill and the time left in one row, which ran 28 px past the
card. The pills wrap to a second line now. In the list the badge left
the sizes too little room and they were cut short; that line wraps too,
so the sizes move down whole.

The Public pill on a torrent's screen used the outline colour, which is
for borders and read as disabled.
feat: Add private/public torrent badges to list and detail views
Replace full group string with single character logic:
- Show # for [Unknown Artists] and bracketed tags
- Show uppercased first letter for alphabetic groups
- Show # for non-alphabetic characters
Replace inline badge layout with boxed card pattern matching Emby's
Series/Episode display. Album metadata (year, genre, tracks, duration)
now displays in a surfaceContainerHigh card with icon/label/value rows
positioned as a separate sliver section below the album cover.
Apply the same boxed card pattern to playlist screen. Playlist metadata
(tracks, duration, visibility) now displays in a surfaceContainerHigh
card with icon/label/value rows positioned below the playlist cover,
matching the album screen layout.
Replace ListView with GridView matching albums tab layout. Playlists
now display in 2-column grid with large square cover art, playlist
name, and song count. Removed unused _formatDuration function.
Add album/playlist cover art beside title info in album and playlist
screens, matching Emby's poster layout pattern. Cover art displayed
as 140x210 image on left side of Row with title/metadata on right.
Tapping on ellipsed album or playlist titles now displays full name
in a snackbar for 2 seconds.
Navidrome integration is now stable and no longer marked as beta.
The lockfile had been rewritten by a newer Flutter (meta 1.18.0, test 1.31.0, test_api 0.7.11, test_core 0.6.17). The project builds with 3.41.9, where pub get --enforce-lockfile refuses those versions, so CI and the release build stopped at dependency resolution.
…he cover grids

Artist sections are headed by the name the server gives the group, in a badge that widens to hold it. Navidrome's default groups include X-Z and [Unknown]; cut to one letter, Yes and ZZ Top were filed under X and [Unknown] became a second #, and a group named in another script became # as well.

The albums and playlists grids size a cell from its cover and its two lines of text at the text size in use, where a fixed shape overflowed once the system font was enlarged. The playlists grid leaves its last row clear of the add button, and a playlist of one counts one song.
…eader cover a fallback

Tapping an album or playlist title queued one snackbar per tap, behind which a real message had to wait. A tap tooltip shows the name once, where the title is.

The cover beside an album title had nothing to show when it failed to load, leaving an empty square that still pushed the title aside.
Also updates the test that still expected the beta flag, and the Navidrome entry in STATUS.md for the reworked screens.
…under the header

The info card pushed the tracklist down by about 240dp, leaving two tracks on screen where five fit. The facts go back to a row of badges, under the header that keeps the cover beside the title.
Monitor collection, Collection monitored and Collection unmonitored, the way the labels around them are written.
…toring

feat(radarr): add collection monitoring support
retransmit and others added 4 commits October 3, 2026 00:13
…its cover beside the title

The banner and the square beside the title were the same cover. The banner is now the artist's picture, fetched under the album's artist id.

Navidrome answers for an artist with no picture with a stand-in image of its own and a good status, so the fetch cannot tell the two apart. The artist's own record names a picture only when there is one, and the banner stays the album's cover until that says so.
refactor(navidrome): UI improvements and graduate out of beta
@retransmit
retransmit merged commit afe9d43 into main Oct 2, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
github-pages — bcddc3bb Deployed Oct 2, 2026 by retransmit via deploy #25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants