From 203bf9cb66f72e8019417fc7daee1639c62a0337 Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Tue, 3 Feb 2026 08:00:31 -0700 Subject: [PATCH] fix: Sonarr API updated to somtimes allow either seeders or leechers to be null --- src/ui/lidarr_ui/library/album_details_ui.rs | 4 ++-- src/ui/lidarr_ui/library/artist_details_ui.rs | 14 +++++++------- src/ui/sonarr_ui/library/episode_details_ui.rs | 4 ++-- src/ui/sonarr_ui/library/season_details_ui.rs | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/ui/lidarr_ui/library/album_details_ui.rs b/src/ui/lidarr_ui/library/album_details_ui.rs index 58f6ee6..964ee8c 100644 --- a/src/ui/lidarr_ui/library/album_details_ui.rs +++ b/src/ui/lidarr_ui/library/album_details_ui.rs @@ -356,12 +356,12 @@ fn draw_album_releases(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { .clone() .unwrap_or(Number::from(0u64)) .as_u64() - .unwrap(); + .unwrap_or_default(); let leechers = leechers .clone() .unwrap_or(Number::from(0u64)) .as_u64() - .unwrap(); + .unwrap_or_default(); decorate_peer_style( seeders, diff --git a/src/ui/lidarr_ui/library/artist_details_ui.rs b/src/ui/lidarr_ui/library/artist_details_ui.rs index 9a7d381..555c62c 100644 --- a/src/ui/lidarr_ui/library/artist_details_ui.rs +++ b/src/ui/lidarr_ui/library/artist_details_ui.rs @@ -1,20 +1,20 @@ use chrono::Utc; use deunicode::deunicode; -use ratatui::Frame; use ratatui::layout::{Constraint, Layout, Rect}; use ratatui::style::Stylize; use ratatui::text::Line; use ratatui::widgets::{Cell, Paragraph, Row, Wrap}; +use ratatui::Frame; use regex::Regex; use crate::app::App; -use crate::models::Route; use crate::models::lidarr_models::{Album, LidarrHistoryItem, LidarrRelease}; -use crate::models::servarr_data::lidarr::lidarr_data::{ARTIST_DETAILS_BLOCKS, ActiveLidarrBlock}; +use crate::models::servarr_data::lidarr::lidarr_data::{ActiveLidarrBlock, ARTIST_DETAILS_BLOCKS}; +use crate::models::Route; use crate::ui::lidarr_ui::library::album_details_ui::AlbumDetailsUi; use crate::ui::lidarr_ui::library::delete_album_ui::DeleteAlbumUi; use crate::ui::lidarr_ui::lidarr_ui_utils::create_history_event_details; -use crate::ui::styles::{ManagarrStyle, secondary_style}; +use crate::ui::styles::{secondary_style, ManagarrStyle}; use crate::ui::utils::decorate_peer_style; use crate::ui::utils::{ borderless_block, get_width_from_percentage, layout_block_top_border, title_block, @@ -24,7 +24,7 @@ use crate::ui::widgets::loading_block::LoadingBlock; use crate::ui::widgets::managarr_table::ManagarrTable; use crate::ui::widgets::message::Message; use crate::ui::widgets::popup::{Popup, Size}; -use crate::ui::{DrawUi, draw_popup, draw_tabs}; +use crate::ui::{draw_popup, draw_tabs, DrawUi}; use crate::utils::convert_to_gb; use ratatui::layout::Alignment; use ratatui::text::Text; @@ -501,12 +501,12 @@ fn draw_artist_releases(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { .clone() .unwrap_or(Number::from(0u64)) .as_u64() - .unwrap(); + .unwrap_or_default(); let leechers = leechers .clone() .unwrap_or(Number::from(0u64)) .as_u64() - .unwrap(); + .unwrap_or_default(); decorate_peer_style( seeders, diff --git a/src/ui/sonarr_ui/library/episode_details_ui.rs b/src/ui/sonarr_ui/library/episode_details_ui.rs index 72ca7e4..3d78a26 100644 --- a/src/ui/sonarr_ui/library/episode_details_ui.rs +++ b/src/ui/sonarr_ui/library/episode_details_ui.rs @@ -425,12 +425,12 @@ fn draw_episode_releases(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { .clone() .unwrap_or(Number::from(0u64)) .as_u64() - .unwrap(); + .unwrap_or_default(); let leechers = leechers .clone() .unwrap_or(Number::from(0u64)) .as_u64() - .unwrap(); + .unwrap_or_default(); decorate_peer_style( seeders, diff --git a/src/ui/sonarr_ui/library/season_details_ui.rs b/src/ui/sonarr_ui/library/season_details_ui.rs index 9eb28ca..f77caad 100644 --- a/src/ui/sonarr_ui/library/season_details_ui.rs +++ b/src/ui/sonarr_ui/library/season_details_ui.rs @@ -388,12 +388,12 @@ fn draw_season_releases(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { .clone() .unwrap_or(Number::from(0u64)) .as_u64() - .unwrap(); + .unwrap_or_default(); let leechers = leechers .clone() .unwrap_or(Number::from(0u64)) .as_u64() - .unwrap(); + .unwrap_or_default(); decorate_peer_style( seeders,