This is an automated email from the ASF dual-hosted git repository. wu-sheng pushed a commit to branch feat/service-internal-topology in repository https://gitbox.apache.org/repos/asf/skywalking-horizon-ui.git
commit e8fc723520dffbffcc02ee92f5f73fb80e650625 Author: Wu Sheng <[email protected]> AuthorDate: Tue Jun 9 11:55:47 2026 +0800 feat(menu): drop the hidden-layer list — show every layer OAP reports Removes the hard-coded HIDDEN_LAYERS set (which dropped BANYANDB) from both the live and OAP-down menu paths. Any layer OAP surfaces in listLayers now appears in the sidebar; a template-less layer renders with default caps (a bare Service page). The only remaining drop is an admin-disabled template, matching how disabled overviews vanish. --- CHANGELOG.md | 8 ++++++++ apps/bff/src/http/query/menu.ts | 20 ++++++-------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e00e6c0..9342a39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,14 @@ packages) plus the BFF's `HORIZON_VERSION` default. ## 0.7.0 +### Layers + +- **Every layer OAP reports now appears in the sidebar**, including ones + with no Horizon template (they render with default capabilities — a plain + Service page). The previous hard-coded hidden-layer list (which dropped + `BanyanDB`) is gone; a layer is only hidden when an admin explicitly + disables its template. + ### Dashboard widget visibility - Layer-dashboard widgets gain a structured **Visible when** gate (Layer diff --git a/apps/bff/src/http/query/menu.ts b/apps/bff/src/http/query/menu.ts index 086d6bd..ebd7fb6 100644 --- a/apps/bff/src/http/query/menu.ts +++ b/apps/bff/src/http/query/menu.ts @@ -390,19 +390,12 @@ export function registerMenuRoute(app: FastifyInstance, deps: MenuRouteDeps): vo ordered.push(k); } - // Layers we deliberately drop from the sidebar even when OAP - // surfaces them. BanyanDB is OAP's storage backend — it shows up - // as a Layer in `listLayers`, but the operator monitors it via - // the OAP self-observability dashboard (CPU / memory / GC - // metrics there cover the storage node too). Keeping it as a - // standalone Databases-ish row was confusing per operator - // feedback. Add more keys here if other internal-only layers - // need the same treatment. - const HIDDEN_LAYERS = new Set(['BANYANDB']); - // Disabled-in-admin layers are soft-deleted — drop from the sidebar - // (matches how disabled overviews vanish). + // Every layer OAP surfaces in `listLayers` is shown — including + // ones with no Horizon template (they render with default caps, a + // bare Service page). Disabled-in-admin layers are the only drop: + // they're soft-deleted (matches how disabled overviews vanish). const layers = ordered - .filter((key) => !HIDDEN_LAYERS.has(key) && !disabled.has(key)) + .filter((key) => !disabled.has(key)) .map((key) => deriveLayer( key, @@ -430,13 +423,12 @@ export function registerMenuRoute(app: FastifyInstance, deps: MenuRouteDeps): vo // bundled files; defaults here are the in-code LAYER_DEFAULTS that // deriveLayer falls to on an empty row map. Counts unknown (-1), // layers inactive. - const HIDDEN_LAYERS = new Set(['BANYANDB']); const seen = new Set<string>(); const layers: LayerDef[] = []; const emptyRows = new Map<string, TemplateRow>(); for (const rawKey of Object.keys(LAYER_DEFAULTS)) { const key = canonical(rawKey); - if (seen.has(key) || HIDDEN_LAYERS.has(key)) continue; + if (seen.has(key)) continue; seen.add(key); layers.push(deriveLayer(key, false, null, -1, null, locale, emptyRows, null)); }
