summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarian Moravcik <[email protected]>2023-02-18 21:13:20 +0100
committerMarian Moravcik <[email protected]>2023-02-18 21:13:20 +0100
commit339883cff64c0d95378599b99337068245968a1a (patch)
tree37c82c4d89074d04df837622ed01bb62404f4486
parent6578710c8d8d384cfffcb42fdd008da0c5571250 (diff)
downloadbazarr-339883cff64c0d95378599b99337068245968a1a.tar.gz
bazarr-339883cff64c0d95378599b99337068245968a1a.zip
Fixed UI freeze on certain notification events
-rw-r--r--bazarr/app/signalr_client.py4
-rw-r--r--bazarr/sonarr/sync/series.py2
-rw-r--r--frontend/src/modules/task/index.ts12
3 files changed, 9 insertions, 9 deletions
diff --git a/bazarr/app/signalr_client.py b/bazarr/app/signalr_client.py
index 4b618757d..5ce8ab401 100644
--- a/bazarr/app/signalr_client.py
+++ b/bazarr/app/signalr_client.py
@@ -284,10 +284,10 @@ def dispatcher(data):
if topic == 'series':
logging.debug(f'Event received from Sonarr for series: {series_title} ({series_year})')
- update_one_series(series_id=media_id, action=action)
+ update_one_series(series_id=media_id, action=action, send_event=False)
if episodesChanged:
# this will happen if a season monitored status is changed.
- sync_episodes(series_id=media_id, send_event=True)
+ sync_episodes(series_id=media_id, send_event=False)
elif topic == 'episode':
logging.debug(f'Event received from Sonarr for episode: {series_title} ({series_year}) - '
f'S{season_number:0>2}E{episode_number:0>2} - {episode_title}')
diff --git a/bazarr/sonarr/sync/series.py b/bazarr/sonarr/sync/series.py
index bfabe2158..6e975b80c 100644
--- a/bazarr/sonarr/sync/series.py
+++ b/bazarr/sonarr/sync/series.py
@@ -200,7 +200,7 @@ def update_one_series(series_id, action):
except IntegrityError as e:
logging.error(f"BAZARR cannot update series {series['path']} because of {e}")
else:
- sync_episodes(series_id=int(series_id), send_event=True)
+ sync_episodes(series_id=int(series_id), send_event=False)
event_stream(type='series', action='update', payload=int(series_id))
logging.debug('BAZARR updated this series into the database:{}'.format(path_mappings.path_replace(
series['path'])))
diff --git a/frontend/src/modules/task/index.ts b/frontend/src/modules/task/index.ts
index 7e09a0804..eb39e9e87 100644
--- a/frontend/src/modules/task/index.ts
+++ b/frontend/src/modules/task/index.ts
@@ -10,7 +10,7 @@ import { notification } from "./notification";
class TaskDispatcher {
private running: boolean;
private tasks: Record<string, Task.Callable[]> = {};
- private progress: Record<string, Site.Progress> = {};
+ private progress: Record<string, boolean> = {};
constructor() {
this.running = false;
@@ -110,10 +110,10 @@ class TaskDispatcher {
// TODO: FIX ME!
item.value += 1;
- if (item.value >= item.count && this.progress[item.id] !== undefined) {
+ if (item.value >= item.count && this.progress[item.id]) {
updateNotification(notification.progress.end(item.id, item.header));
delete this.progress[item.id];
- } else if (item.value > 1 && this.progress[item.id] !== undefined) {
+ } else if (item.value > 1 && this.progress[item.id]) {
updateNotification(
notification.progress.update(
item.id,
@@ -123,10 +123,10 @@ class TaskDispatcher {
item.count
)
);
- } else {
+ } else if (item.value > 1 && this.progress[item.id] === undefined) {
showNotification(notification.progress.pending(item.id, item.header));
- this.progress[item.id] = item;
- setTimeout(() => this.updateProgress(items), 1000);
+ this.progress[item.id] = true;
+ setTimeout(() => this.updateProgress([item]), 1000);
}
});
}