diff --git a/app/src/Events.js b/app/src/Events.js index a85c79e7..fc9990bf 100644 --- a/app/src/Events.js +++ b/app/src/Events.js @@ -29,8 +29,9 @@ function handleEvents(events) { if (subject && newestEvents[subject] && newestEvents[subject] > dt) { console.debug(`Already handled newer event of "${subject}".`); return; - } else if (event === 'refresh_completed') { - eventToast('Refresh completed', 'Files have been refreshed.', 'success'); + } else if (event === 'global_after_refresh_completed' || event === '') { + let message_ = message || 'Files have been refreshed.'; + eventToast('Refresh completed', message_, 'success'); } if (event === 'shutdown') { diff --git a/wrolpi/files/worker.py b/wrolpi/files/worker.py index 4ec46f78..527267e9 100644 --- a/wrolpi/files/worker.py +++ b/wrolpi/files/worker.py @@ -10,6 +10,7 @@ import pathlib import shlex import shutil import stat as stat_module +import time from collections import OrderedDict from dataclasses import dataclass, field from enum import Enum, auto @@ -1092,7 +1093,9 @@ class FileWorker: return # Send appropriate start event based on refresh scope + global_refresh_start_time = None if is_global_refresh: + global_refresh_start_time = time.time() logger.info(f'Starting global refresh with {task.count} files') Events.send_global_refresh_started() elif dir_paths and len(dir_paths) == 1 and not file_paths: @@ -1177,8 +1180,10 @@ class FileWorker: # Send appropriate completion event based on refresh scope if is_global_refresh: - Events.send_global_after_refresh_completed() - Events.send_refresh_completed() + elapsed = time.time() - global_refresh_start_time + message = f'Global refresh completed in {elapsed:.1f} seconds' + logger.info(message) + Events.send_global_after_refresh_completed(message) elif dir_paths and len(dir_paths) == 1 and not file_paths: relative_path = self._get_relative_path(dir_paths[0]) Events.send_directory_refresh(f'Refreshed: {relative_path}')