mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
16d0132c1b
* feat(ui): show a workspace's own project icon in the chat workspace chip Resolve the conventional project icon inside a session's workspace root once per Gateway process and serve it over a strictly scoped authenticated route so the Control UI can render real project identity instead of a folder glyph. Refs #121723 * test(gateway): keep the workspace icon server teardown out of a promise executor return * fix(ui): keep flat project icons legible on the workspace chip in every theme * feat(ui): lead the chat header with the project, then the session title Reorder the header into an identity trail — project chip, muted slash, session title — rendered from one segment list so a later parent-session segment extends it. Drop the project icon halo and record the flat-dark-icon contrast tradeoff at the style site. Refs #121723 * fix(ui): type the header identity trail segments without a lit result predicate * fix(gateway): scope the workspace icon route to visible local sessions Owner-gate the route so it cannot answer for sessions the caller's own sessions.list would hide, withhold the workspace root of exec-node sessions so a remote project never resolves to this host's icon, bound SVG icons before they reach a renderer, and retry ordered Control UI credentials so a stale saved token no longer silently drops the icon. Refs #121723 * fix(ui): render the header project as a flat breadcrumb segment, not a badge Drop the pill border, fill, and radius from the project name so it reads as a quiet trail segment inline with the session title: one type size across the trail, hierarchy carried by colour, hover and focus reusing the sibling title button's tint so removing the border keeps a visible focus indicator. Refs #121723 * fix(ui): balance the header trail separator spacing after the title pull-back * test(ui): migrate the shared avatar loader tests to ordered credential arrays * fix(ui): center the chat header identity trail * refactor(ui): reuse workspace icon credentials * test(ui): scope deleted-session recovery to the visible pane * fix(ui): cache missing workspace icons across renders * chore: refresh plugin SDK API baseline