Commit Graph
29 Commits
Author SHA1 Message Date
Jonathan McCumberandClaude Sonnet 4.6 645ca19d76 fix: address reviewer feedback — rename scroll field to bool, relocate static, drop env var
- Rename `ui_scroll_tick_count: u64` → `should_text_scroll: bool` across all 33
  call sites; `on_ui_scroll_tick` now assigns true/false instead of 0/1
- Remove two now-redundant comments from `test_on_ui_scroll_tick`
- Move `WHITESPACE_RE` static declaration below module imports in network/mod.rs
- Remove `MANAGARR_TICK_RATE_MS` env var and its parsing helpers; `recv()`-based
  blocking already brings idle CPU to near-0, and tuning tick rate silently
  stretches the poll cadence — keep `DEFAULT_TICK_RATE_MS` const only

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C3FpbniZme9mJqgFkMVowz
2026-07-04 20:30:20 -05:00
Jonathan McCumber a72b2991fd fix: address reviewer feedback — regex OnceLock and restore tick rate
- Compile whitespace regex once via OnceLock instead of on every
  non-success response; makes format_error_body infallible (String
  return, no Result) eliminating the only practical failure mode
- Revert default tick rate from 100ms back to 50ms to preserve the
  existing 20-second Servarr poll cadence (tick_until_poll=400 × 50ms);
  the recv() change is the real CPU fix — the tick rate change was
  unnecessary and silently halved the data refresh rate
- Keep MANAGARR_TICK_RATE_MS as opt-in override; note that tuning it
  proportionally stretches the poll interval alongside the tick rate
2026-06-28 13:00:16 -05:00
Jonathan McCumber 6c41e0704e fix: reduce TUI idle CPU and improve server error banners
- Replace non-blocking try_recv() event loop with blocking recv() to
  eliminate idle spin; the sender tick timeout still drives minimum
  wakeup rate so the UI stays responsive
- Lower default tick rate from 50 ms to 100 ms (10 ticks/sec vs 20);
  add MANAGARR_TICK_RATE_MS env var for runtime tuning
- Move terminal draws to event boundaries (key + tick) instead of every
  loop pass, reducing unnecessary redraws
- In network error handling, prefer concise JSON fields (message /
  errorMessage / error) over the raw HTTP body, so Radarr ASP.NET
  stack traces don't flood the TUI banner; full body still logged
- Add unit tests for tick-rate parsing and Radarr-style JSON error body

Observed: ~0.6% total CPU at idle vs measurably higher with prod defaults
2026-06-28 12:35:37 -05:00
Dark-Alex-17 368f7505ff feat: Improved UI speed and responsiveness
Check / stable / fmt (push) Has been cancelled
Check / beta / clippy (push) Has been cancelled
Check / stable / clippy (push) Has been cancelled
Check / nightly / doc (push) Has been cancelled
Check / 1.89.0 / check (push) Has been cancelled
Test Suite / ubuntu / beta (push) Has been cancelled
Test Suite / ubuntu / stable (push) Has been cancelled
Test Suite / macos-latest / stable (push) Has been cancelled
Test Suite / windows-latest / stable (push) Has been cancelled
Test Suite / ubuntu / stable / coverage (push) Has been cancelled
2025-12-19 13:41:14 -07:00
Dark-Alex-17 ad58912baf test: Updated Rust edition to 2024 and refactored network module tests to be more idiomatic 2025-12-03 14:49:27 -07:00
Dark-Alex-17 00ab0f27f7 feat: Refactor all keybinding tips into a dynamically changing menu that can be invoked via '?' [#32] 2025-08-12 16:27:34 -06:00
Dark-Alex-17 e96af7410e feat: Pagination support for jumping 20 items at a time in all table views [#45] 2025-08-08 17:04:28 -06:00
Dark-Alex-17 345bb8ce03 refactor: Renamed 'ctrl-*' keyboard shortcuts to 'C-*' to simplify and shrink the on-screen help 2025-08-08 15:09:39 -06:00
Connor Welsh 89cf0e66a6 fix: Ensure key events are only processed on key press to avoid duplicates 2025-04-06 17:29:06 -04:00
Dark-Alex-17 f139db07d9 feat(app): Dispatch support for all relevant Sonarr blocks 2024-11-27 17:06:20 -07:00
Dark-Alex-17 2ec4472efc Added the ability to edit existing indexers with basic options, added a tags column to the indexers table, and fixed a bug in the counter fields that displayed the cursor next to the integer instead of on it to make understanding the counter easier. Also upgraded to confy v0.60.0 and rust version to 1.75 2024-01-19 15:45:41 -07:00
Dark-Alex-17 b16a58deae Updated Ratatui, created custom deserialization logic for i64s to make life easier, and used string interpolation where possible to reduce the lines needed to write log messages or create formatted text 2023-09-07 17:20:38 -06:00
Dark-Alex-17 68aaa21030 Changed Ctrl-r to ctrl-r for displaying key mappings 2023-08-08 10:50:07 -06:00
Dark-Alex-17 5602fc4341 Tweaked the key mappings so that it is now easier to change key mappings and update the corresponding UI elements as well 2023-08-08 10:50:07 -06:00
Dark-Alex-17 519778c0ca Partial implementation of Tasks and Logs and test refactor 2023-08-08 10:50:06 -06:00
Dark-Alex-17 207b8a8c80 Mostly completed tags implementation; still need to add the UI option for the Add Movie popup, and I still need to fix the REALLY FAST horizontal scrolling issue (I'm thinking just %2 everything to slow it down). Oh, and also need to convert the quality profile Hashmap into a BiMap 2023-08-08 10:50:05 -06:00
Dark-Alex-17 110da1c0ee Implemented unit tests for ui utils 2023-08-08 10:50:05 -06:00
Dark-Alex-17 e9b37e23ae Completed events unit tests 2023-08-08 10:50:05 -06:00
Dark-Alex-17 a7dccf7990 Fixed random bug in file info menu and added all blocks to be rounded borders 2023-08-08 10:50:05 -06:00
Dark-Alex-17 c15bda5885 Started writing more tests in the handlers 2023-08-08 10:50:05 -06:00
Dark-Alex-17 cd0cf2e04a Added delete movie functionality 2023-08-08 10:50:04 -06:00
Dark-Alex-17 24a36443e9 Refactored filtering and searching logic to be more clean and added home/end support in tables. 2023-08-08 10:50:04 -06:00
Dark-Alex-17 a304367e0e Refactored handlers and UI to have a separate radarr module, and implemented movie search functionality for existing movies. 2023-08-08 10:50:04 -06:00
Dark-Alex-17 c16f234088 Implemented Library and Download tabs! 2023-08-08 10:50:04 -06:00
Dark-Alex-17 b24e0cdccd Almost kinda functional description box 2023-08-08 10:50:04 -06:00
Dark-Alex-17 d39acb0683 Added better support for contexts now and improved base Radarr UI 2023-08-08 10:50:04 -06:00
Dark-Alex-17 1ebf481326 Initial Radarr ui! 2023-08-08 10:50:04 -06:00
Dark-Alex-17 155675b596 Cleaned up imports a bit and added rustfmt.toml 2023-08-08 10:50:04 -06:00
Dark-Alex-17 0d4e283c21 Base working commit with a UI thread (Tokio), Network thread (Tokio), and an input events thread (std). 2023-08-08 10:50:03 -06:00