Skip to content

Discover

Detailed app behavior for discover.

  • Movies / TV tabs: discovery rows (Movies: the headline feed, In Theaters, Top Rated, Coming Soon, Most Anticipated; TV: the headline feed, Airing This Week, Top Rated, Coming Soon, Most Anticipated), each with a See all into its grid, plus live library rows from the user’s default instances. Coming Soon on TV means series premiering in the next three months, never a returning season; Airing This Week is TMDB’s week across all television, while the library’s own Airing Next below it is the Sonarr calendar. Live library rows come from the user’s default instances: Downloading Soon, Recently Downloaded (ordered by when the file landed, never when the title was added: Radarr carries the file date on the movie, Sonarr does not, so series recency comes from its import history), Airing Next (soonest air date first).
  • Headline row + spotlight hero: the top row and the hero above it come from whichever feed the admin selected in Settings > Discover: TMDB weekly trending (the default), Trakt trending, or TMDB’s all-time popularity ranking. The row titles itself after the feed that answered (“Trending This Week” / “Trending Now” / “Popular …”), so it never labels a trending feed as popular.
  • Cinematic title pages: a title’s genre chips open the Browse grid for that genre, and its Recommended and Similar rows carry a See all that keeps going past the first page. Under the overview, a Cast row shows the billing with photos: tap a face for that person’s page, or See all for everyone credited, grouped by department. A Details section carries the few lines worth reading before deciding, never a spec sheet: who directed and wrote it, the studios (each a chip into the Browse grid for that studio), country, runtime, budget and revenue, plus a status line only while a film is still unreleased; a show lists its creators, network, and whether it is still returning, ended or canceled. Only known lines render, so a thinly documented title simply has fewer. A Links line closes Details with IMDb, TMDB, and Trakt chips that open the title’s own page on those sites in the browser; IMDb and Trakt appear only when TMDB knows the title’s IMDb id. Book pages carry their own Links line: Goodreads and Open Library from the ids Chaptarr records for the book, plus Hardcover when Chaptarr’s metadata declares its page, never guessed from a title. Author pages draw on Chaptarr metadata. Album pages retain Lidarr search and library metadata and also accept discovery metadata immediately; cold album links resolve through MusicBrainz by release-group ID. Movie/show detail opens under a full-bleed, unblurred backdrop hero: the image parallaxes at half scroll speed (with an iOS overscroll stretch-zoom and a settle-in on load), then hands off to a pinned marquee bar carrying the title and back control. Titles without artwork get a warm ambient-glow stage instead.
  • TV premiere and episode dates: beneath the request status, a show lists its upcoming series premiere, next scheduled episode, or earliest upcoming season premiere, in that order. Specials do not supply season fallbacks. Dates remain visible for Available shows and catalog browsing before Sonarr setup. The line uses today on the air date and a full date otherwise (for example, Season 2 premieres Oct 7, 2026 or Next episode S2 E3 · Oct 14, 2026). Unaired Planned, Pilot, or In Production shows without a date say Premiere date TBA; returning shows or explicitly listed upcoming episodes without a usable date say Next episode date TBA. Ended/canceled shows have no upcoming line unless TMDB lists a future dated event. Details retains the original series date as Premiere through that day and First aired afterward; unknown or invalid dates are omitted. These are calendar dates from the existing TMDB detail response, refreshed on opening the page with the server’s one-hour metadata cache. An announcement elsewhere can remain TBA until TMDB updates, and failed metadata loads keep the details error. Dates do not change request eligibility or monitoring.
  • Releases tab: a unified movie + episode release timeline with list and month-calendar views.
  • Browse before setup: Admin Discover tabs default to Movies → TV Shows → Releases → Books → Music. Once config confirms that no matching instance exists, a fixed footer below the scrolling catalog offers Set up Radarr, Set up Sonarr, Set up Chaptarr, or Set up Lidarr, beside Hide this tab. It sits above mobile navigation and at the bottom of the desktop content area; buttons stack for narrow screens or larger text. Setup opens the existing instance form with the service selected and refreshes config after the editor closes, including cancellation. Detail request areas retain their matching Connect … to request … shortcuts. Music keeps public catalog search; unconfigured Books offers Chaptarr setup. Both omit library rows and ownership reads, and request-target lookups until connected. A server without admin_catalog_browsing shows an update notice for browsing Books/Music before setup; configured library browsing and search remain available.
  • Discover tab visibility: Hide saves immediately for everyone on the server, with progress and an in-place retryable error if it fails. Settings > Modules > Discover > Discover tabs has four searchable Hide [tab] when [service] isn’t connected switches using the screen’s Save and unsaved-changes guard. All default off. A configured instance restores its tab even when offline; removal makes the saved preference apply again. This changes navigation, not permissions or APIs: requester and kids book/music grants still apply. Mobile tabs, desktop pages, login destinations, direct tab links, and catalog preloading share the same visibility calculation. Releases hides only when Movies, TV Shows, and Music are all hidden for that user, regardless of whether the schedule is empty. Hidden tab links land on the first visible tab in the existing order, which can be Releases. When no tabs are visible, Discover shows an empty state with a link for admins to restore tabs in Discover settings. The mobile tab bar is omitted when fewer than two tabs are visible. Older servers keep setup available and disable Hide with an update explanation; older apps keep their existing navigation.
  • Live configuration: hidden_discover_tabs travels through login, session restoration, and config refresh. A cached offline session retains navigation, but only a successful config read enables missing-service setup footers. Payload-free config_changed events, WebSocket reconnects, and app resume refresh configuration without recreating the router. Refreshes wait until an open instance editor closes, including responses already in flight.
  • Books tab: always visible to admins, and visible to requesters with a Chaptarr grant: the tab body is browse-only, its rows Trending Books → Recently Added → Authors → Series, with no search field of its own: book search happens from the shell’s top bar on the Books discovery tab, its results floating over the page (see Owned-aware search). Recently Added shows newest book-file imports, one card per title; a title’s eBook and Audiobook are separate library records, merged into a single card dated by whichever landed most recently, though its cover comes from whichever record has had files longest rather than the newest one, so a title does not lose the art it was already showing when a second format arrives (a freshly created record is offered a cover path before the art behind it exists, and nothing server-side can tell that path from a live one); tapping a card opens the richer book detail where per-format request controls live (see Books). Each Recently Added card carries its title’s real availability: a green Available pill only when both formats have downloaded, a yellow Requested pill while a missing format is still on the way, and a yellow Partial pill when nothing is coming for it (including when that format was never requested at all): a card whose ownership cannot be read shows no pill rather than a guess. The row is absent for users with no Chaptarr grant, is covered by the results overlay while a search is active, and also hides when the ownership digest cannot be read. Beneath it sits an Authors row: the library’s authors as circular cards, most-collected first, each labelled with what the library holds by them (“2 of 4 books available”). The Authors row browses the selected Chaptarr library. A control on the right of the heading names and changes the row’s order; Most books, Name, or Date added; and the server applies it before capping the row, so “Name” means the library’s authors alphabetically rather than the most-collected ones alphabetised. The previous row stays on screen while the new order loads, so the control never disappears out from under the tap that used it. A library with more authors than the row shows says so in the heading (“200 of 337”) rather than simply stopping at the cap. Tapping one opens that author’s page: their whole tracked bibliography, newest first, each title carrying the same Available / Requested / Partial pill the rest of the books surfaces use: plus a muted Not requested for a title nobody has asked for yet, so an un-requested book never renders the same as one whose state could not be read. Tapping a title opens the book detail, where requests live. Like Recently Added the row is covered by the results overlay while a search is active, and hides when the library cannot be read or has no authors; an author the library has not keyed yet is shown but not openable. Below it a Series row does the same for series; cards showing the run’s first covers stacked; the earliest book you actually hold at the front, stepped right so the rest of the run reads behind it, and a series never looks like a single book; each labelled with how complete the run is (“6 of 61 books available”), ordered by Most books or Name. Tapping one opens the series page: every title the library knows about, in reading order, keeping the library’s own position labels (2A, 1.5, 1.6, 1.7) and trailing the ones that state no position; un-owned volumes included and requestable, since the gap is what the row’s count raises. Only series with at least one book on disk appear in the row; a library knows about far more than it holds.
  • Music prefetching: Entering Discovery warms weekly Popular Albums, New Releases, and music genres before the tab opens. Feed rows buffer one next page and prefetch nearby artwork through the authenticated image cache. Account/access changes discard warmed state and queued artwork. Books make no Open Library feed, genre, metadata, or prefetch requests.
  • Trending Books: the top of the Books tab is Hardcover’s trending list, the top 50, read by the server with the OAuth or API-token connection an admin selected for the active Chaptarr instance (instance editor, just above Instant updates). Each card carries the same Available / Partial / Requested pill as Recently Added, decided by exact identity-key match against the owned-books digest (hc-book:<id> and ISBN-13: never a title guess), and a book the library does not hold shows its author instead of a pill. Tapping a card opens the same book page a Chaptarr search result would, addressed by its native hc: id, where the per-format request controls live. When the instance has no Hardcover connection, an admin sees a Connect Hardcover in Chaptarr settings button that opens that instance’s editor; a requester sees no row, since only an admin can fix it. A feed the server could not read, or an older server without the route, hides the row rather than rendering a quiet day.
  • Connect Hardcover: the Chaptarr instance editor defaults to OAuth: a dialog displays a one-time code with Open Hardcover, Copy code, and Cancel, polls automatically, and checks again when the app resumes. Browser-launch failures show the address and code for manual entry; expired or declined sign-ins offer Start again. Existing connections remain until verified replacements succeed. Use an API token instead and older-server token support remain available. Connected and reconnect states offer replacement or disconnection. Apply to all names the other Chaptarr instances and uses the expected OAuth connection and their current revisions; individual failures are reported. Each successful change refreshes that instance’s trending feed immediately. Chaptarr manages its own metadata credential.
  • Book discovery: Chaptarr supplies native book search, Recently Added, Authors, and Series. Returned books render immediately in native order, with authors loaded independently below them. Superseded searches are cancelled and each interactive search has a ten-second deadline. Ownership refreshes update book badges without reordering native results. Opening a result carries its exact native ID, metadata, selected instance, and original search term. Old Open Library work and browse links show a stable retirement message with a native search action, prefilled when a title is known.
  • Music tab: always visible to admins, and visible to requesters with a Lidarr grant, and works like Books with the format axis removed: the tab shows Popular Albums → New Releases → Browse by genre → Recently Added → Artists. Popular Albums offers This week (default), This month, and This year; New Releases covers the past 30 days with no future releases; genre results follow MusicBrainz matching order. Discovery includes albums and EPs with square covers, artist names, EP labels, and live request-status badges on visible cards. Each discovery row loads and retries independently, preserves its previous results after a failed refresh, and opens See all into a paginated grid. Older servers show that discovery requires an update while keeping library browsing and search. Music search stays in the shell’s top bar. Recently Added shows the newest album imports: one card per album, subtitled with the artist, carrying a green Available pill when the live digest confirms a complete album, a yellow Requested pill while it is on the way, and no pill at all when ownership cannot be read. The Artists row lists the library’s artists as circular cards, most-collected first, each labelled with what the library holds (“2 of 4 albums available”), with the same server-side Most albums / Name / Date added ordering, the same “200 of 337” truncation note, and the same hide-on-unreadable rules as Authors. Tapping an artist opens a paginated MusicBrainz discography by exact artist ID, including artists absent from Lidarr. Matching library-only releases supplement the discography. Same-name artists keep their separate identities and disambiguation. Every release opens the shared album page.

View the maintained source for this page.