deepseek-harness/packages/client/ui-command/tests
Yichen Jiang 259d998455 fix(web): follow a blank session's preset switch in the slash catalog
Presets own the rows that decide what a session's `/` menu contains, but
both browser catalogs cache per session and had no invalidation edge for a
recompose: `commands/changed` is registry-wide and recomposing registers
nothing, so the menu kept serving the composition the session no longer ran.

The host stream now frames the logged `agent-preset/selected` commit as
`host/session-preset-changed`; the runtime bridges it to the typed
`session/preset-changed` event, `ui-command` soft-refreshes that session's
directory key and `ui-skill` invalidates its catalog entry.

Reaching the host on a second switch was a separate defect: the list-row
identity guard compared every summary field except `agentPreset`, and the
merge keeps the row's `updatedAt`, so a switched row looked unchanged and
served its cached instance forever. The hero chip compares the pick against
that row, so switching back to the creation-time preset sent no RPC at all.
2026-08-10 14:35:13 +08:00
..
browser-plugin.spec.ts feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
directory.spec.ts feat: slash system / input service / agent scope 2026-07-27 03:28:39 +08:00
popup-view.spec.tsx docs: purge chain-of-thought leakage from prose 2026-08-09 21:10:59 +08:00
popup.spec.ts docs: purge chain-of-thought leakage from prose 2026-08-09 21:10:59 +08:00
service.spec.ts fix(web): follow a blank session's preset switch in the slash catalog 2026-08-10 14:35:13 +08:00