This is an automated email from the ASF dual-hosted git repository.

wu-sheng pushed a commit to branch fix/3d-fps-and-layer-rehydrate
in repository https://gitbox.apache.org/repos/asf/skywalking-horizon-ui.git

commit 9f22c36a8cd6a177402c6d84b9ffeedb7730cecb
Author: Wu Sheng <[email protected]>
AuthorDate: Sun May 31 09:17:19 2026 +0800

    fix(layer): empty widget scope shows 'No widgets', not 'Reading data' 
forever
    
    Gating metrics on resolved widgets means an empty-config scope runs no
    dashboard query, so dataIsFresh never flips true. The 'Reading data' gate
    fired on (configLoading || !dataIsFresh), so it stuck forever and never
    reached the 'No widgets defined' branch. Only wait on !dataIsFresh when
    there are widgets to load.
---
 apps/ui/src/render/layer-dashboard/LayerDashboardsView.vue | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/apps/ui/src/render/layer-dashboard/LayerDashboardsView.vue 
b/apps/ui/src/render/layer-dashboard/LayerDashboardsView.vue
index 49a57fc..3a49d8f 100644
--- a/apps/ui/src/render/layer-dashboard/LayerDashboardsView.vue
+++ b/apps/ui/src/render/layer-dashboard/LayerDashboardsView.vue
@@ -704,7 +704,10 @@ function isVisible(
          sequence (which read as a slow, jumpy entry). The "no widgets"
          branch below only shows once config has actually loaded and the
          layer genuinely defines none. -->
-    <div v-if="reachable && (configLoading || !dataIsFresh)" class="empty 
reading">
+    <div
+      v-if="reachable && (configLoading || (!dataIsFresh && widgets.length > 
0))"
+      class="empty reading"
+    >
       <span class="reading-dot" />
       <span>
         Reading data

Reply via email to