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
