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

   Two review-driven fixes (kept on one branch per request).
   
   ## 1. Sliding session cookie (auth)
   The server slides a session's TTL on every authenticated request 
(`sessions.touch()`), but the session cookie's `maxAge` was stamped only at 
login. An actively-used session kept sliding server-side while the **browser** 
cookie still expired at `login + ttl` — so an active user was silently logged 
out mid-session. `requireAuth` now re-stamps the cookie (same options as login, 
only `maxAge` refreshed) after a successful `touch()`.
   
   Validated: BFF type-check + lint; all 80 BFF unit tests pass.
   
   ## 2. Empty-space deselect in the 3D map
   pmndrs `pointermissed` only fires on a true void hit (confirmed in TresJS 
source — it's a void-object click), so clicking a colored zone/tier plane 
(raycast left on so planes occlude cubes) never cleared the selection; only 
clicking past every plane did. A deselect handler on the planes isn't viable — 
operators orbit-drag *from* empty plane space to rotate without changing 
selection (per `Infra3DScene` CLAUDE.md).
   
   Fix: detect the empty click at the DOM level on the canvas, guarded so it 
only fires for a genuine empty click — target is the `<canvas>` (not a portaled 
`<Html>` overlay), pointer barely moved (click, not drag), and no cube absorbed 
the gesture (`onNodeClick` stamped within 120ms). Replaces the `@pointermissed` 
wiring.
   
   Validated: UI type-check + build + lint clean. ⚠ Needs a live click-test 
(select a cube → click empty plane → clears; orbit-drag from plane → keeps 
selection; click the detail card → stays open).
   
   ## Deferred (reported, not in this PR)
   - **Admin edge styling** — valid, but `style: dashed` can't apply to the 
solid `TubeGeometry` edges without re-rendering them as dashed lines, and 
there's no `edges` accessor on the config composable yet. Needs a rendering 
rework, not a partial color-only wire.
   - **Theme support** — valid limitation; the canvas/plane darks are 
hardcoded. A real fix needs a reactive re-read on theme switch + a 
contrast/emissive review (design pass).


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