openclaw/packages
Peter Steinberger af552d4bc6
feat(ui): resolve session URLs through the gateway with best-effort slug matching (#114422)
* feat(ui): resolve session URLs through the gateway with best-effort slug matching

Session URLs now resolve a stored board face and a display-name slug through
the gateway instead of guessing from the browser's cached session page.

- An uncached open marks only the in-app navigation, never the shareable href,
  so the chat loader can re-derive the face and replace the URL.
- A cached row settles the lookup locally, keeping navigation off the wire.
- A one-segment reference resolves short id, then literal key, then display-name
  slug; ties reuse the existing disambiguation view.

* refactor(ui): keep slug ties on short disambiguation prefixes

Slug candidates reused the full uuid, which produced 32-character links in the
disambiguation view. uniqueShortIdPrefix already falls back to the full id when
the bounded search was truncated, so reuse it and drop the flag.

* fix(ui): navigate worktree owner links in-app so the face marker survives

The Worktrees owner link was a bare anchor consuming only the shareable href,
so preferenceDerivedFace was a no-op there and an uncached owner always opened
on chat. Match the other session surfaces: keep the clean href and navigate
with the options on plain clicks.

* fix(ui): search the first uuid block so long session references resolve

The gateway matches sessions.list search as a plain substring and stored keys
hold a hyphenated uuid, so any hyphen-stripped reference past the first block
matched nothing and 404'd. This hit disambiguation links, which offer prefixes
longer than eight characters. Send the first block and keep applying the full
prefix per row.

A resolved slug now canonicalizes to that same short reference instead of a
full uuid, so /chat/main/deploy-monitor settles on -6db92d48.

* docs(ui): record why the face marker stays out of shareable hrefs
2026-07-27 04:31:33 -04:00
..
acp-core fix(logging): redact auth-style HTTP headers (#107999) 2026-07-17 00:25:15 -07:00
agent-core feat(anthropic): add Claude Opus 5 model support (#113391) 2026-07-24 14:47:08 -06:00
ai fix(ai): unify Responses stream processing (#114263) 2026-07-27 00:28:07 -04:00
gateway-client build(deps): remove npm shrinkwrap; mirror pnpm lock into transient package locks (#114006) 2026-07-26 01:29:55 -04:00
gateway-protocol fix(ui): keep stable chat rows in insertion order and only sort live tool/stream items by timestamp (#113266) 2026-07-27 02:08:22 -04:00
llm-core fix(anthropic): honor opus 5 aliases 2026-07-25 19:30:49 +08:00
markdown-core refactor(zalouser): compile blocks from CommonMark IR (#113590) 2026-07-25 03:34:53 -07:00
media-core fix(xiaomi): reject malformed base64 audio in TTS responses (#113106) 2026-07-25 07:52:23 -07:00
media-generation-core refactor: consolidate duplicate helper exports (#106016) 2026-07-13 03:22:00 -07:00
media-understanding-common refactor(channels): delete all media-placeholder consumer awareness (#111891) 2026-07-20 09:31:51 -07:00
memory-host-sdk refactor(prompt): use plain inbound context labels and drop system-tag sanitizer (#112000) 2026-07-27 11:27:53 +10:00
model-catalog-core test(model-catalog): cover normalization and routing boundaries (#114384) 2026-07-27 02:56:59 -04:00
net-policy fix(net-policy): restore ipaddr typing compatibility 2026-07-19 05:51:18 -07:00
normalization-core refactor(normalization): reuse trimmed list helpers (#113295) 2026-07-24 17:43:22 +08:00
plugin-package-contract docs: document package sources 2026-06-04 20:54:41 -04:00
plugin-sdk refactor(prompt): use plain inbound context labels and drop system-tag sanitizer (#112000) 2026-07-27 11:27:53 +10:00
retry fix(discord): honor abortSignal during gateway READY retry backoff (#108561) 2026-07-16 03:14:46 -07:00
sdk fix(sdk): preserve zero values in normalized event IDs (#113349) 2026-07-25 02:07:59 -07:00
session-url-contract feat(ui): resolve session URLs through the gateway with best-effort slug matching (#114422) 2026-07-27 04:31:33 -04:00
speech-core refactor(speech-core): centralize provider attempts (#113212) 2026-07-24 12:08:12 +08:00
terminal-core chore(deps): refresh repository dependencies (#112453) 2026-07-23 16:17:13 +00:00
tool-call-repair chore: enforce max-lines suppression ratchet (#107315) 2026-07-14 09:27:02 -07:00
web-content-core refactor(packages): trim private aggregate roots (#105747) 2026-07-13 08:00:59 +08:00
workboard-contract build(deps): remove npm shrinkwrap; mirror pnpm lock into transient package locks (#114006) 2026-07-26 01:29:55 -04:00