The search list survives a restart, but a restored query was only ever a reminder: seeing what the network has now meant typing it out again. In the Searches pane, `S` now re-runs the highlighted query in its place — no duplicate row, no reordering — cancelling a run still collecting first and starting the Results display over for what comes back. The key is listed in the shortcut bar, the `?` overlay, the README and the website. `start_search` is split into launching a search and showing it, so both paths share one implementation. A new `tui_e2e` suite drives the real window over a real session against soulfind: keys in, a screen out, a sharing peer on the other end. It restores a query from a previous run's state directory, presses `S`, and checks the peer's file lands on screen — then again once the query has been on the wire, proving a repeat is answered and the display does not stack. To make that possible `MainTui` is exported with `handle_key_event`, `render`, `poll_session` and a `state()` accessor, and CI runs the suite with `SOULSEEK_E2E_REQUIRED=1`. Closes #85
14 lines
235 B
Rust
14 lines
235 B
Rust
mod downloads;
|
|
pub mod login;
|
|
mod main_tui;
|
|
mod paging;
|
|
mod panes;
|
|
mod styles;
|
|
mod utils;
|
|
|
|
pub use downloads::render_download_stats;
|
|
pub use main_tui::{MainTui, launch_main_tui};
|
|
pub use paging::*;
|
|
pub use styles::*;
|
|
pub use utils::*;
|