Skip to content

Commit

Permalink
Merge pull request #678 from Stremio/fix/meta-details-guess-stream
Browse files Browse the repository at this point in the history
fix(meta_details): wait for all requests before guessing stream
  • Loading branch information
tymmesyde authored May 2, 2024
2 parents b81ebad + 2313903 commit 256ec32
Showing 1 changed file with 19 additions and 9 deletions.
28 changes: 19 additions & 9 deletions src/models/meta_details.rs
Original file line number Diff line number Diff line change
Expand Up @@ -288,16 +288,25 @@ fn selected_guess_stream_update(
}) => meta_path,
_ => return Effects::default(),
};
let meta_item = match meta_items
.iter()
.find_map(|meta_item| match &meta_item.content {
Some(Loadable::Ready(meta_item)) => Some(meta_item),
Some(Loadable::Loading) => None,
_ => None,
}) {
Some(meta_item) => meta_item,
_ => return Effects::default(),

// Wait for all requests to finish before retrieving the meta_item
let meta_item = if meta_items.iter().all(|meta_item| {
matches!(meta_item.content, Some(Loadable::Ready(..)))
|| matches!(meta_item.content, Some(Loadable::Err(..)))
}) {
match meta_items
.iter()
.find_map(|meta_item| match &meta_item.content {
Some(Loadable::Ready(meta_item)) => Some(meta_item),
_ => None,
}) {
Some(meta_item) => meta_item,
_ => return Effects::default(),
}
} else {
return Effects::default();
};

let video_id = match (
meta_item.videos.len(),
&meta_item.preview.behavior_hints.default_video_id,
Expand All @@ -306,6 +315,7 @@ fn selected_guess_stream_update(
(0, None) => meta_item.preview.id.to_owned(),
_ => return Effects::default(),
};

eq_update(
selected,
Some(Selected {
Expand Down

0 comments on commit 256ec32

Please sign in to comment.