mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-24 11:25:50 -06:00
27b77a901e
* feat(sessions): teach session tools the Control UI link rule Gate guidance on publicOrigin plus enabled Control UI, with exact literal-URL fallback after short-link misses. * feat(ui): linkify session keys in chat markdown Match agent session keys structurally in plain text and inline code, then delegate canonical chat navigation. Allowlist data-session-key through markdown sanitization. Pathfinder: keep internal Control UI route anchors in-app by removing target="_blank" and external-link rel attributes while preserving external link behavior. * feat(ui): session hovercard + titled session chips backed by controlUi.sessionPreview * fix(gateway): scope controlUi.sessionPreview to caller-visible sessions Hover previews now apply the same createSessionListEntryFilter predicate as sessions.list, so identity-bearing non-admin callers cannot preview-by-key incognito rows or non-owner drafts the sidebar hides. Regression test proves the viewer/admin split; pre-fix run leaked ok-status metadata. * feat(sessions): carry the session-link rule in tool result envelopes Deferred-description mode hides prose tool descriptions at decision time. Carry the shared Control UI session-link sentence in successful session lookup result envelopes so every tool mode sees the rule. * fix(ui): upgrade session chips on appearance, not first pointer event * fix(android): regenerate gateway protocol methods * test(gateway): track session preview release train * perf(ui): lazy-load session hovercard registration * fix(ui): keep session hovercards off sidebar navigation * fix(ui): cancel routed session-link navigation * fix(sessions): advertise forced-literal ~key URLs so short-ID collisions cannot misroute * test(sessions): update forced-literal guidance expectation * fix(ui): collision-proof raw-key navigation and SPA-route internal session URLs * perf(ui): preserve session route lazy boundary * fix(ui): defer unseeded session-preview fetches to hover intent * fix(sessions): hard-cap the model-visible session-link base