perf: Improved performance by optimizing API calls to only refresh when the tick prompts a refresh. All UI is now significantly faster

This commit is contained in:
2024-12-04 16:46:06 -07:00
parent 2d2901f6dc
commit 1b5d70ae2d
4 changed files with 7 additions and 45 deletions
-1
View File
@@ -154,7 +154,6 @@ impl<'a> App<'a> {
self.cancellation_token.cancel(); self.cancellation_token.cancel();
} else { } else {
self.dispatch_by_radarr_block(&active_radarr_block).await; self.dispatch_by_radarr_block(&active_radarr_block).await;
self.refresh_radarr_metadata().await;
} }
} }
-16
View File
@@ -563,22 +563,6 @@ mod tests {
app.radarr_on_tick(ActiveRadarrBlock::Downloads).await; app.radarr_on_tick(ActiveRadarrBlock::Downloads).await;
assert_eq!(
sync_network_rx.recv().await.unwrap(),
RadarrEvent::GetDownloads.into()
);
assert_eq!(
sync_network_rx.recv().await.unwrap(),
RadarrEvent::GetQualityProfiles.into()
);
assert_eq!(
sync_network_rx.recv().await.unwrap(),
RadarrEvent::GetTags.into()
);
assert_eq!(
sync_network_rx.recv().await.unwrap(),
RadarrEvent::GetRootFolders.into()
);
assert_eq!( assert_eq!(
sync_network_rx.recv().await.unwrap(), sync_network_rx.recv().await.unwrap(),
RadarrEvent::GetDownloads.into() RadarrEvent::GetDownloads.into()
+3 -4
View File
@@ -18,9 +18,6 @@ impl<'a> App<'a> {
self self
.dispatch_network_event(SonarrEvent::ListSeries.into()) .dispatch_network_event(SonarrEvent::ListSeries.into())
.await; .await;
self
.dispatch_network_event(SonarrEvent::GetDownloads.into())
.await;
} }
ActiveSonarrBlock::SeriesDetails => { ActiveSonarrBlock::SeriesDetails => {
self.is_loading = true; self.is_loading = true;
@@ -63,6 +60,9 @@ impl<'a> App<'a> {
.await; .await;
} }
ActiveSonarrBlock::Blocklist => { ActiveSonarrBlock::Blocklist => {
self
.dispatch_network_event(SonarrEvent::ListSeries.into())
.await;
self self
.dispatch_network_event(SonarrEvent::GetBlocklist.into()) .dispatch_network_event(SonarrEvent::GetBlocklist.into())
.await; .await;
@@ -156,7 +156,6 @@ impl<'a> App<'a> {
self.cancellation_token.cancel(); self.cancellation_token.cancel();
} else { } else {
self.dispatch_by_sonarr_block(&active_sonarr_block).await; self.dispatch_by_sonarr_block(&active_sonarr_block).await;
self.refresh_sonarr_metadata().await;
} }
} }
+4 -24
View File
@@ -22,6 +22,10 @@ mod tests {
.await; .await;
assert!(app.is_loading); assert!(app.is_loading);
assert_eq!(
sync_network_rx.recv().await.unwrap(),
SonarrEvent::ListSeries.into()
);
assert_eq!( assert_eq!(
sync_network_rx.recv().await.unwrap(), sync_network_rx.recv().await.unwrap(),
SonarrEvent::GetBlocklist.into() SonarrEvent::GetBlocklist.into()
@@ -232,10 +236,6 @@ mod tests {
sync_network_rx.recv().await.unwrap(), sync_network_rx.recv().await.unwrap(),
SonarrEvent::ListSeries.into() SonarrEvent::ListSeries.into()
); );
assert_eq!(
sync_network_rx.recv().await.unwrap(),
SonarrEvent::GetDownloads.into()
);
assert!(!app.data.sonarr_data.prompt_confirm); assert!(!app.data.sonarr_data.prompt_confirm);
assert_eq!(app.tick_count, 0); assert_eq!(app.tick_count, 0);
} }
@@ -478,26 +478,6 @@ mod tests {
app.sonarr_on_tick(ActiveSonarrBlock::Downloads).await; app.sonarr_on_tick(ActiveSonarrBlock::Downloads).await;
assert_eq!(
sync_network_rx.recv().await.unwrap(),
SonarrEvent::GetDownloads.into()
);
assert_eq!(
sync_network_rx.recv().await.unwrap(),
SonarrEvent::GetQualityProfiles.into()
);
assert_eq!(
sync_network_rx.recv().await.unwrap(),
SonarrEvent::GetLanguageProfiles.into()
);
assert_eq!(
sync_network_rx.recv().await.unwrap(),
SonarrEvent::GetTags.into()
);
assert_eq!(
sync_network_rx.recv().await.unwrap(),
SonarrEvent::GetRootFolders.into()
);
assert_eq!( assert_eq!(
sync_network_rx.recv().await.unwrap(), sync_network_rx.recv().await.unwrap(),
SonarrEvent::GetDownloads.into() SonarrEvent::GetDownloads.into()