Jonathan McCumber
6f697f64f4
fix: revert draw gating; replace frame-count scroll with wall-clock timer
...
- Revert src/main.rs to draw-at-top-of-loop (original structure) so
auto-scrolling is no longer coupled to event rate. Lock is released
before blocking on recv() so the network task is never starved.
- Replace ticks_until_scroll counter in on_ui_scroll_tick() with an
Instant + Duration (default 100ms). Scroll now advances at a fixed
wall-clock rate (10 chars/sec) regardless of draw rate or tick rate,
which is the correct long-term fix for the animation regression.
- Update tests: assert scroll_interval == 100ms in default/new tests;
rewrite test_on_ui_scroll_tick to cover zero-interval (always fires)
and long-interval (suppressed) cases.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01C3FpbniZme9mJqgFkMVowz
2026-06-30 20:05:00 -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
6e7707f6df
build: upgraded MSRV in the Dockerfile
2026-06-25 15:41:56 -06:00
github-actions[bot]
a26444006b
chore: bump Cargo.toml to 0.7.3
Check / stable / fmt (push) Failing after 27s
Check / beta / clippy (push) Failing after 1m13s
Check / stable / clippy (push) Failing after 1m15s
Check / nightly / doc (push) Successful in 1m3s
Check / 1.95.0 / check (push) Successful in 1m9s
Test Suite / ubuntu / beta (push) Successful in 1m47s
Test Suite / ubuntu / stable (push) Successful in 1m47s
Test Suite / ubuntu / stable / coverage (push) Failing after 2m24s
Test Suite / macos-latest / stable (push) Has been cancelled
Test Suite / windows-latest / stable (push) Has been cancelled
2026-06-25 20:58:11 +00:00
github-actions[bot]
ccf3e28323
bump: version 0.7.2 → 0.7.3 [skip ci]
2026-06-25 20:58:10 +00:00
Alex Clarke
6eea6b92fb
Merge pull request #62 from Dark-Alex-17/develop
...
Security fixes, rolling logs, and Rust version upgrade
2026-06-25 14:37:16 -06:00
Dark-Alex-17
6df68b8a66
tests: Addressed additional CR comments and added tests for tail-logs
2026-06-25 14:21:57 -06:00
Dark-Alex-17
cbca6bd916
fix: addressed code review comments
2026-06-25 14:11:18 -06:00
Dark-Alex-17
92187c5f16
fix: tail-logs subcommand follows log rollovers and sleeps to minimize idle CPU loops
2026-06-25 13:51:32 -06:00
Dark-Alex-17
366809d8c6
fmt: applied formatting
2026-06-25 13:32:31 -06:00
Dark-Alex-17
dd93fe117d
feat: Implemented log rolling so the log file doesn't just grow exponentially [ #60 ]
2026-06-25 13:29:56 -06:00
Dark-Alex-17
10e18af1bf
build: upgraded to openssl 0.10.79 to fix security vulnerabilities
2026-06-25 13:20:14 -06:00
Dark-Alex-17
a4d93692a9
build: Upgraded to Rust v1.95.0
2026-06-25 13:19:27 -06:00
Dark-Alex-17
03d134bec9
refactor: Refactored several usages of sort_by_key and match guards to utilize newer Rust version APIs
2026-06-25 13:18:43 -06:00
Dark-Alex-17
4cad9e1755
docs: Improved the README to demonstrate what a truly minimal configuration looks like for each service and explain the "reasonable defaults" [ #61 ]
2026-06-25 12:35:51 -06:00
github-actions[bot]
adb76bb603
bump: version 0.7.1 → 0.7.2 [skip ci]
2026-04-20 22:37:15 +00:00
Alex Clarke
d9a2b1c6c4
Merge pull request #59 from Dark-Alex-17/develop
...
Check / stable / fmt (push) Failing after 25s
Check / beta / clippy (push) Failing after 1m12s
Check / stable / clippy (push) Failing after 1m11s
Check / nightly / doc (push) Successful in 1m3s
Check / 1.89.0 / check (push) Successful in 1m6s
Test Suite / ubuntu / beta (push) Successful in 1m46s
Test Suite / ubuntu / stable (push) Successful in 1m47s
Test Suite / ubuntu / stable / coverage (push) Failing after 2m19s
Test Suite / macos-latest / stable (push) Has been cancelled
Test Suite / windows-latest / stable (push) Has been cancelled
merge develop into main for release
2026-04-20 16:18:55 -06:00
Dark-Alex-17
47a2fbf0cc
docs: removed the lines-of-code counter from the README since the link is dead
2026-04-20 16:02:18 -06:00
Dark-Alex-17
7067902752
build: updated reqwest and build dependencies
2026-04-20 15:53:42 -06:00
Dark-Alex-17
ba1cf0182b
build: Updated the docker image so that it ships with trusted CA root certs from trusted providers like LetsEncrypt, DigiCert, etc. for docker SSL users
2026-04-02 09:58:30 -06:00
Dark-Alex-17
5cccec88c9
docs: Updated the README to have a more detailed section on how to acquire SSL certificate information
2026-03-30 10:13:51 -06:00
Dark-Alex-17
bbcd3f00a9
feat: Created a separate 'ssl' property for the config so users don't have to specify an ssl_cert_path to use SSL or use the uri workaround for HTTPS API access
2026-03-29 12:39:26 -06:00
Dark-Alex-17
2e339dd73b
docs: Created an authorship policy and PR template that requires explicit acknowledgement of AI assistance
2026-02-24 17:41:34 -07:00
Dark-Alex-17
f988cf0f26
docs: Fixed some typos found in the README
Check / stable / fmt (push) Successful in 9m57s
Check / beta / clippy (push) Successful in 11m0s
Check / stable / clippy (push) Successful in 10m59s
Check / nightly / doc (push) Successful in 1m2s
Check / 1.89.0 / check (push) Successful in 1m9s
Test Suite / ubuntu / beta (push) Successful in 1m47s
Test Suite / ubuntu / stable (push) Successful in 1m43s
Test Suite / ubuntu / stable / coverage (push) Successful in 12m52s
Test Suite / macos-latest / stable (push) Has been cancelled
Test Suite / windows-latest / stable (push) Has been cancelled
2026-02-05 18:50:42 -07:00
Dark-Alex-17
ff82dc2012
style: Upgraded rustfmt edition to 2024
Check / stable / fmt (push) Successful in 9m57s
Check / beta / clippy (push) Successful in 11m0s
Check / stable / clippy (push) Successful in 10m59s
Check / nightly / doc (push) Successful in 57s
Check / 1.89.0 / check (push) Successful in 1m1s
Test Suite / ubuntu / beta (push) Successful in 1m43s
Test Suite / ubuntu / stable (push) Successful in 1m42s
Test Suite / ubuntu / stable / coverage (push) Successful in 12m52s
Test Suite / macos-latest / stable (push) Has been cancelled
Test Suite / windows-latest / stable (push) Has been cancelled
2026-02-05 10:47:35 -07:00
github-actions[bot]
89a692ad90
chore: bump Cargo.toml to 0.7.1
Check / stable / fmt (push) Successful in 9m55s
Check / beta / clippy (push) Successful in 10m59s
Check / stable / clippy (push) Successful in 10m59s
Check / nightly / doc (push) Successful in 59s
Check / 1.89.0 / check (push) Successful in 1m2s
Test Suite / ubuntu / beta (push) Successful in 1m42s
Test Suite / ubuntu / stable (push) Successful in 1m42s
Test Suite / ubuntu / stable / coverage (push) Successful in 12m51s
Test Suite / macos-latest / stable (push) Has been cancelled
Test Suite / windows-latest / stable (push) Has been cancelled
2026-02-04 18:01:02 +00:00
github-actions[bot]
d77ec5fb34
bump: version 0.7.0 → 0.7.1 [skip ci]
2026-02-04 18:01:00 +00:00
Alex Clarke
ec90e2dca7
Merge pull request #56 from Dark-Alex-17/develop
...
Check / stable / fmt (push) Successful in 9m53s
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
Hotfix and feature adds for some new issues
2026-02-04 10:38:58 -07:00
Dark-Alex-17
5a4e6c9623
style: Addressed CR comments about adding an explicit Command::ConfigPath to the main command match statement
2026-02-04 10:24:59 -07:00
Dark-Alex-17
9a6a06ee20
build: Updated all dependencies to resolve dependabot security issues
2026-02-04 09:51:57 -07:00
Dark-Alex-17
5556e48fc0
fix: Improved the system notification feature so it can persist between modals
2026-02-04 08:18:04 -07:00
Dark-Alex-17
af573cac2a
feat: Added support for a system-wide notification popup mechanism that works across Servarrs
2026-02-03 17:03:12 -07:00
Dark-Alex-17
447cf6a2b4
style: Applied formatting to the artist_details_ui
2026-02-03 08:10:02 -07:00
Dark-Alex-17
203bf9cb66
fix: Sonarr API updated to somtimes allow either seeders or leechers to be null
2026-02-03 08:00:31 -07:00
Dark-Alex-17
4f9bc34d23
docs: Updated the README so that the example configuration only includes references to Servarrs that are actually supported [ #55 ]
2026-01-30 15:45:22 -07:00
Dark-Alex-17
a2aa9507a9
fix: Improved the first-time run behavior so that it outputs the default configuration file it tries to load to help users locate the file on first-runs
2026-01-30 15:36:26 -07:00
Dark-Alex-17
c791b985f0
docs: Updated README to tell users to use 'managarr config-path' as the default method to discover the location of the default configuration file
2026-01-29 12:56:59 -07:00
Dark-Alex-17
5c517a748c
fix: 'managarr config-path' should work without a pre-existing config already in place [ #54 ]
2026-01-29 12:54:45 -07:00
Dark-Alex-17
892c687077
docs: Updated README with config-path as another way to find the default config file for a given system
2026-01-29 10:26:12 -07:00
Dark-Alex-17
c6d5b98e86
feat: Implemented a 'config-path' command to print out the default Managarr configuration file path to help address #54
2026-01-29 10:23:05 -07:00
Dark-Alex-17
67e5114ec2
build: Removed #[allow(dead_code)] from the LIDARR_LOGO since it is now being utilized
2026-01-26 11:56:05 -07:00
Dark-Alex-17
fdc331865e
feat: Full support for filtering disks and aggregating root folders in the UI's 'Stats' block
2026-01-26 11:10:59 -07:00
Dark-Alex-17
f388dccc08
feat: proper collapsing of root folder paths in the stats layer of the UI
2026-01-22 14:44:48 -07:00
Dark-Alex-17
64fad3b9bc
refactor: Removed the filtering of monitored_storage_paths from the networking module and migrated all of it to the UI
2026-01-22 13:12:51 -07:00
Dark-Alex-17
3be7b09da8
feat: Added config option to filter for specific disk space paths to display in the UI (CLI is unaffected)
2026-01-22 10:49:30 -07:00
Dark-Alex-17
5f3123cd79
test: Updated snapshot tests to assert the paths are updated in the UI
Check / stable / fmt (push) Successful in 9m57s
Check / beta / clippy (push) Successful in 10m59s
Check / stable / clippy (push) Successful in 10m59s
Check / nightly / doc (push) Successful in 59s
Check / 1.89.0 / check (push) Successful in 1m7s
Test Suite / ubuntu / beta (push) Successful in 1m48s
Test Suite / ubuntu / stable (push) Successful in 1m43s
Test Suite / ubuntu / stable / coverage (push) Successful in 12m55s
Test Suite / macos-latest / stable (push) Has been cancelled
Test Suite / windows-latest / stable (push) Has been cancelled
2026-01-22 09:39:44 -07:00
Dark-Alex-17
d8f7febfe1
feat: Improved disk-space UI and CLI that shows the actual path being monitored instead of just a disk number
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
2026-01-22 09:36:58 -07:00
Dark-Alex-17
0bfbb44e3e
feat: Implemented the forgotten lidarr list disk-space command
Check / stable / fmt (push) Successful in 9m59s
Check / beta / clippy (push) Successful in 10m58s
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
2026-01-22 09:06:38 -07:00
github-actions[bot]
c5161f828d
chore: bump Cargo.toml to 0.7.0
Check / stable / fmt (push) Successful in 9m57s
Check / beta / clippy (push) Successful in 11m0s
Check / stable / clippy (push) Successful in 10m59s
Check / nightly / doc (push) Successful in 57s
Check / 1.89.0 / check (push) Successful in 1m0s
Test Suite / ubuntu / beta (push) Successful in 1m42s
Test Suite / ubuntu / stable (push) Successful in 1m42s
Test Suite / ubuntu / stable / coverage (push) Successful in 12m38s
Test Suite / macos-latest / stable (push) Has been cancelled
Test Suite / windows-latest / stable (push) Has been cancelled
v0.7.0
2026-01-21 19:22:11 +00:00