fix: Modified the Sonarr DownloadRecord so that the episode_id is optional to prevent crashes for weird downloads

This commit is contained in:
2025-03-01 14:50:20 -07:00
parent 58723cf3e8
commit 847de75713
7 changed files with 52 additions and 18 deletions
+11 -4
View File
@@ -28,6 +28,7 @@ use ratatui::layout::{Alignment, Constraint, Rect};
use ratatui::prelude::{Line, Style, Stylize, Text};
use ratatui::widgets::{Cell, Paragraph, Row, Wrap};
use ratatui::Frame;
use serde_json::Number;
#[cfg(test)]
#[path = "season_details_ui_tests.rs"]
@@ -573,10 +574,16 @@ fn decorate_with_row_style<'a>(
row: Row<'a>,
) -> Row<'a> {
if !episode.has_file {
if let Some(download) = downloads_vec
.iter()
.find(|&download| download.episode_id == episode.id)
{
let default_episode_id = Number::from(-1i64);
if let Some(download) = downloads_vec.iter().find(|&download| {
download
.episode_id
.as_ref()
.unwrap_or(&default_episode_id)
.as_i64()
.unwrap()
== episode.id
}) {
if download.status == DownloadStatus::Downloading {
return row.downloading();
}