wu-sheng opened a new pull request, #43:
URL: https://github.com/apache/skywalking-horizon-ui/pull/43

   ## Summary
   
   Two batches of work on the layer experience, templates, and i18n.
   
   **1 — Instance topology + remote-first templates + preview** (`8d51e2d`)
   **2 — Landing picker lists every service + landing/i18n hardening + 
stale-config cleanup** (`4397390`)
   
   ## Operator-visible changes
   
   - **Instance topology drill-down.** The per-layer **Topology** map gains an 
**instance map**: click a call between two services → **Instance map →** to 
open each service's instances as two columns (client/server) with 
instance-level calls, health rings, per-call metric sidebar, and an **Open 
instance dashboard** popover. Service pickers are relationship-aware (drawn 
from the topology call graph); cross-layer / conjectured callees don't offer an 
instance dashboard. Configurable per layer (Layer-dashboards admin → Topology → 
**Enable instance topology**); on by default for General, Service Mesh, 
Kubernetes Service, Cilium Service.
   - **The landing picker lists every service in the layer**, not just the 
metric-probed top-N. Services below `query.landingServiceCap` (default **100**) 
show **`low`** in the order-by column (`—` for the others, never probed) — 
still searchable and selectable. The header chip reads **"metrics: top N"** so 
the metric trim is explicit. Raise/lower the cap in `horizon.yaml`.
   - **Removed the stale "Landing KPI tile" (Headline / Trend line) admin 
controls.** They no longer matched the rendered layer header — which shows 
every configured metric column as its own KPI with its own trend — so editing 
them changed nothing on screen.
   
   ## Correctness / internals
   
   - **Remote-first templates & i18n.** Runtime renders only OAP-published 
config (or in-code defaults); bundled disk content is never a render-time 
fallback — only boot-seed / admin-reset / preview. A missing OAP translation 
overlay falls back to **English source**, not bundled disk overlays.
   - **Dashboard + overview data caches key on the full widget config**, not 
just widget ids — a remote sync or preview edit that changes an MQE now refires 
instead of serving stale data.
   - **Config-bundle preload failure no longer strands the shell** on 
"Initializing…": it seeds an empty unreachable bundle so routes render and the 
connectivity banner can recover.
   - **Off-sample selected service** resolves its name from the full roster, so 
the header KPIs match the dashboard the body queries.
   - **Removed all dead `throughput`/`spark` landing config** end-to-end 
(api-client wire types, BFF landing compute + setup schema + loader migration, 
UI data layer + metric catalog). Scanned all 356 bundled templates — **zero** 
leftover config keys. The setup-save schema relaxes `.strict()` → `.strip()` so 
a setup persisted by an older build drops the retired keys gracefully on 
re-save.
   
   ## Validation
   
   - Type-checks clean (api-client build, BFF, UI).
   - **80 BFF + 85 UI tests** pass; `license-eye` 0 invalid.
   - Smoke-tested against the public Apache demo OAP: landing route returns 
clean aggregates (`metrics` / `seriesByMetric` / `serviceCount`, no 
`throughput*`/`spark`); all-services picker + `low` tail verified at a low cap; 
zh-CN menu still translates via the OAP overlay.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to