From 7c90c2e93c9ee63c7aceca980a4d0fe20a3a9e8c Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 2 Nov 2025 22:12:30 +1100 Subject: [PATCH] BE: spinner + timestamp work #1251 Signed-off-by: jokob-sk --- server/app_state.py | 4 ++-- server/scan/device_handling.py | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/server/app_state.py b/server/app_state.py index 463c87b9..e257d09b 100755 --- a/server/app_state.py +++ b/server/app_state.py @@ -35,7 +35,7 @@ class app_state_class: def __init__(self, currentState=None, settingsSaved=None, settingsImported=None, - showSpinner=False, + showSpinner=None, graphQLServerStarted=0, processScan=False, pluginsStates=None): @@ -150,7 +150,7 @@ class app_state_class: def updateState(newState = None, settingsSaved = None, settingsImported = None, - showSpinner = False, + showSpinner = None, graphQLServerStarted = None, processScan = None, pluginsStates=None): diff --git a/server/scan/device_handling.py b/server/scan/device_handling.py index f908661c..67dc9915 100755 --- a/server/scan/device_handling.py +++ b/server/scan/device_handling.py @@ -532,12 +532,14 @@ def update_devices_names(pm): last_checked_str = pm.name_plugins_checked last_checked_dt = parser.parse(last_checked_str) if isinstance(last_checked_str, str) else last_checked_str - # Find the most recent plugin update time among name-related plugins - state_times = [ - pm.plugin_states.get(p, {}).get("stateUpdated") - for p in name_plugins - if pm.plugin_states.get(p) - ] + # Collect valid state update timestamps for name-related plugins + state_times = [] + for p in name_plugins: + state_updated = pm.plugin_states.get(p, {}).get("stateUpdated") + if state_updated and state_updated.strip(): # skip empty or None + state_times.append(state_updated) + + # Determine the latest valid stateUpdated timestamp latest_state_str = max(state_times, default=None) latest_state_dt = parser.parse(latest_state_str) if latest_state_str else None