deepseek-harness/packages/client/runtime/tests
imccyu ea8b1178cd feat(web): session list one-list, hover card, row menus, rename, manual ordering
Sidebar session list grows the figma 239-10458 feature set and the
workspace/session browsing region moves wholesale into ui-workspace:

- Group-by menu (WorkSpace / In one list): flat mode lists every session
  top-level, strictly newest-first; the choice persists across reloads.
- Session rows get a 500ms hover detail card (title / relative time /
  status line) and a ... menu (Rename / Fork session / Delete session,
  visual-only for now); workspace headers get ... with Rename (wired) and
  Delete workspace (visual-only).
- workspace.rename RPC: trims, rejects duplicate titles on the create
  chain (workspace-name-conflict), no-op on same title; modal dialog with
  client-side duplicate pre-check.
- workspace.insertSessionBefore RPC (DOM-insertBefore semantics, omitted
  anchor appends): HTML5 drag reorder of root sessions inside a workspace
  group; order truth stays host-side, the view refreshes from the
  response/changed frame.
- Activity pinning removed: the session/event touchSession chain is gone;
  workspace accounts are manually owned (new sessions prepend, explicit
  reordering only). Contracts and tests updated, api catalog regenerated.
- ui-sidebar reduced to the column shell (brand, fold state machine, New
  Session, Settings) exposing one sidebar.workspaces hole with a two-fact
  owner share {wide, expandSidebar}; ui-workspace owns the whole region
  (header, search, grouped/flat lists, dialogs, drag) plus the picker via
  a shared WorkspaceCreateFlow. The old sidebar.workspace picker slot and
  its deferral indirection are gone.
- ui-primitives: Menu gains label entries, danger rows, and
  closeOnPointerLeave; new HoverCard (portaled, open-delay, disabled
  guard). Hover card and row menu never coexist.
2026-07-26 00:55:17 +08:00
..
client-apply.spec.ts feat(web): add workspace-aware session flow 2026-07-25 17:45:26 +08:00
conversation.spec.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
event-script.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
fake-api.ts feat(web): session list one-list, hover card, row menus, rename, manual ordering 2026-07-26 00:55:17 +08:00
fold-adapter.spec.ts feat(agent): unify send(target × wakeup), coalesce context/message into user/message 2026-07-23 19:15:45 +08:00
invariant.spec.ts refactor(gui): slot system standard — single register, four props shares, framework store seat 2026-07-23 03:25:11 +08:00
lineage.spec.ts feat(web): add workspace-aware session flow 2026-07-25 17:45:26 +08:00
manager.spec.ts feat(web): add workspace-aware session flow 2026-07-25 17:45:26 +08:00
node-half.spec.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
notifier.spec.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
partial.spec.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
session-intents.spec.ts docs(web): finalize workspace UI product flow 2026-07-25 17:46:04 +08:00
session.spec.ts feat(web): add workspace-aware session flow 2026-07-25 17:45:26 +08:00
sessions-service.spec.ts feat(web): add workspace-aware session flow 2026-07-25 17:45:26 +08:00
slots-service.spec.ts feat(web): add workspace-aware session flow 2026-07-25 17:45:26 +08:00
store.spec.ts refactor(client-runtime): home the snapshot-store engine in contract/ 2026-07-23 10:37:15 +08:00
workspaces-service.spec.ts feat(web): add workspace-aware session flow 2026-07-25 17:45:26 +08:00