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

   ## Summary
   
   Follow-up to #43. Two fixes to the per-layer **API (endpoint) dependency** 
graph.
   
   ## 1. Expand buttons were redundant
   `getEndpointDependencies(endpointId, duration)` returns a node's **whole** 
neighbourhood (both directions) in **one** response — OAP has no directional 
endpoint-dependency query. So the two per-node expand buttons (`‹` upstream / 
`›` downstream) fired the **identical** request and merged the same both-sides 
graph; the `dir` arg only picked the cache key. Clicking either revealed the 
node's full neighbourhood — the directional split was an illusion.
   
   **Fix:** collapse to **one handle on each node's outward edge** — a left `‹` 
on caller-side nodes, a right `›` on callee-side, none on the focus (already 
expanded by the base query). One query; new callers land left, callees right 
via the existing BFS layout. A click that surfaces nothing new **fades** the 
handle (chain leaf reached), and hovering now highlights it (the old handles 
had no cursor/hover at all).
   
   ## 2. Column headers were inverted
   The layer-column labels read `L−1 · Downstream` / `L+1 · Upstream` (nginx 
"upstream = backend you call" convention), which **contradicted** the same 
view's node popout (`Inbound`/`Outbound`) and the expand handles' "upstream 
callers / downstream callees" wording. They now read **`L−1 · Callers` / `L+1 · 
Callees`**, matching everything else and dropping the ambiguous 
upstream/downstream pair.
   
   ## Validation
   - UI type-check clean · **85 UI tests** pass · `license-eye` 0 invalid.
   - Grounded against the live demo: schema (`topology.graphqls` 
`getEndpointDependencies → EndpointTopology{nodes,calls}`) + wire 
(`agent::songs`/`UndertowDispatch` returned both inbound + outbound in one 
response). Direction is edge orientation (`source`/`target` vs the focus id), 
not a field.
   - **Visual note:** the SVG canvas wasn't screenshot-verified by CI; the 
handle placement/fade rest on the geometry + type-check (confirmed by hand in 
the running demo — one outward chevron per selected node).
   


-- 
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