Add interactive release search (M6)

Release listing and grab in the shared arr client, a full-screen release
list (sort, hide rejected, rejection reasons, confirmation before grabbing
rejected releases; Usenet only), and a season/episode picker for Sonarr.
Overlays are now a stack so dialogs can open above the release list.
Add a fake Newznab indexer to the dev setup.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-20 18:09:19 +02:00
co-authored by Claude Sonnet 5.5
parent 446cbdd6c5
commit f928427993
18 changed files with 1002 additions and 23 deletions
+6 -4
View File
@@ -6,7 +6,7 @@ A terminal UI to search for movies and series, add them to Radarr / Sonarr, and
- **TUI library:** [tview](https://github.com/rivo/tview) (on top of tcell)
- **License:** MIT
- **Module:** `git.stinnesbeck.com/nils/arr-tui`
- **Status:** M5 done
- **Status:** M6 done
## 1. Goals
@@ -111,8 +111,10 @@ Keybindings (initial proposal):
| `t` | Retry the selected failed download (history) |
| `h` | Downloads view: cycle focus between SABnzbd queue, Radarr/Sonarr queue and history |
| `b` | Downloads view (Radarr/Sonarr queue): blocklist the release and search for another |
| `i` | Interactive release search for the selected item |
| `g` | Grab the selected release |
| `i` | Interactive release search for the selected library item (movies; series ask for a season, then an episode or the whole season) |
| `g` / `Enter` | Release list: grab the selected release (rejected ones ask for confirmation) |
| `s` / `f` | Release list: cycle sort (best / size / age) / hide rejected |
| `Esc` | Close a dialog or the release list |
| `r` | Refresh |
| `?` | Help |
| `q` / `Ctrl+C` | Quit |
@@ -190,7 +192,7 @@ The file should be created with mode `0600`; warn if it is more permissive. API
- [x] **M3** — Sonarr client and series search + add flow.
- [x] **M4** — SABnzbd client and Downloads view (queue + history) with live updates and pause/resume/delete.
- [x] **M5** — Radarr/Sonarr queues merged into the Downloads view.
- [ ] **M6** — Interactive release search (movies, then series seasons/episodes) and grab.
- [x] **M6** — Interactive release search (movies, then series seasons/episodes) and grab.
- [ ] **M7** — Polish: help screen, error handling, README, release builds.
- [ ] **M8+** — v0.2 features (library view, series drill-down).