Commit Graph
4215 Commits
Author SHA1 Message Date
Yif 9a485724f6 fix(open-in-app): scale the empty-state opener chevron up and trim its height to 36px 2026-09-21 14:15:11 +08:00
Yifffan b6cb6be3da Merge pull request #4767 from deepseek-harness/fix/desktop-minimize-vibrancy
fix(desktop): 修复 macOS 最小化恢复后侧边栏毛玻璃短暂透明,同时修改 session 跑马灯效果
2026-09-21 13:42:11 +08:00
Yifffan d7318cb7b5 Merge branch 'master' into fix/desktop-minimize-vibrancy 2026-09-21 13:17:27 +08:00
Yif 8dafa0829b Merge remote-tracking branch 'origin/fix/desktop-minimize-vibrancy' into fix/desktop-minimize-vibrancy 2026-09-21 13:04:29 +08:00
Yif b4886c7e5b feat(workspace): marquee hovered session titles with fades on both cut edges 2026-09-21 13:02:48 +08:00
Yudong Han e98b5703c7 refactor(api): move Remote result projection to gateway 2026-09-21 12:50:42 +08:00
Yudong 2aac7c8ef5 fix(connection): keep narrowed attachment path type 2026-09-21 12:50:41 +08:00
Yudong 285f0a7005 fix(connection): narrow binary transport values 2026-09-21 12:50:41 +08:00
Yudong ecf6acfb15 feat(api): support binary fields in Remote results 2026-09-21 12:50:40 +08:00
creatixchu 49ff1f815d Merge origin/master into worktree/issue-3881-folder-drop 2026-09-21 12:33:50 +08:00
Yichen Jiang dc1f87e890 Merge branch 'master' of github.com:deepseek-harness/deepseek-harness into worktree/process-plugin-streaming-72f9b3 2026-09-21 12:03:46 +08:00
Yichen Jiang bb7e92c999 Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
# Conflicts:
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/persistence-catalog.i18n.yaml
#	docs/persistence-catalog.md
#	docs/persistence-catalog.zh.md
#	docs/persistence-schema.json
2026-09-21 11:51:54 +08:00
Yichen Jiang 3f17ab99d4 refactor(chat): restore ui-chat import paths to master
Six ui-chat modules carried import-path and line-wrap differences unrelated
to the jobs seam; they now match master byte for byte.
2026-09-21 11:46:55 +08:00
creatixchu 20be0ff297 Merge origin/master into worktree/issue-3881-folder-drop 2026-09-21 11:41:36 +08:00
Yichen Jiang 2ab948a11b Merge remote-tracking branch 'origin/master' into worktree/input-plugin-extension-hooks 2026-09-21 11:39:00 +08:00
creatixchu d0ac0afbe2 fix(composer): recognize pasted directories through entry metadata 2026-09-21 11:38:44 +08:00
CreatixChu c240582109 Merge pull request #4646 from deepseek-harness/feat/4562-file-open-apps
feat: 统一文件和目录的跨平台打开控件
2026-09-21 11:38:41 +08:00
Yichen Jiang 9df1b6033a fix(web): keep the empty composer dock collapsed 2026-09-21 11:35:35 +08:00
Yichen Jiang 61719629fc Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
# Conflicts:
#	apps/web/tests/expected/agent-preset-selection/header.expected.md
#	docs/architecture.i18n.yaml
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	docs/persistence-catalog.i18n.yaml
#	docs/persistence-catalog.md
#	docs/persistence-catalog.zh.md
#	docs/persistence-schema.json
#	docs/subsystems/web-client.i18n.yaml
#	packages/api/README.i18n.yaml
#	packages/api/README.md
#	packages/api/README.zh.md
#	packages/api/session-controller/README.i18n.yaml
#	packages/api/session-controller/README.md
#	packages/api/session-controller/README.zh.md
#	packages/api/session-controller/src/client/sessions/manager.ts
#	packages/api/session-controller/src/client/sessions/service.ts
#	packages/api/session-controller/tests/manager.client.spec.ts
#	packages/client/locale/tests/language-row.client.spec.tsx
#	packages/client/ui-chat/tests/chat-view.client.spec.tsx
#	packages/client/ui-chat/tests/transcript-view-row.client.spec.tsx
#	packages/client/ui-conversation/tests/conversation-registry.client.spec.ts
#	packages/client/ui-conversation/tests/enter-behavior-row.client.spec.tsx
#	packages/client/ui-conversation/tests/input-bar.client.spec.tsx
#	packages/client/ui-conversation/tests/input-matrix.client.spec.tsx
#	packages/client/ui-conversation/tests/input-scenarios.client.spec.tsx
#	packages/client/ui-conversation/tests/skeleton.client.spec.tsx
#	packages/client/ui-deliverables/tests/deliverables.client.spec.tsx
#	packages/client/ui-jobs/tests/job-list-action.client.spec.tsx
#	packages/client/ui-layout/tests/app-frame.client.spec.tsx
#	packages/client/ui-layout/tests/document-title.client.spec.tsx
#	packages/client/ui-open-in-app/tests/open-in-app-action.client.spec.tsx
#	packages/client/ui-primitives/README.i18n.yaml
#	packages/client/ui-session/tests/ui-session.client.spec.ts
#	packages/client/ui-settings-general/tests/settings-root.client.spec.tsx
#	packages/client/ui-settings-unarchive-sessions/tests/components.client.spec.tsx
#	packages/client/ui-subagent/README.i18n.yaml
#	packages/client/ui-subagent/README.md
#	packages/client/ui-subagent/README.zh.md
#	packages/client/ui-subagent/src/client/SubagentHeaderLineage.tsx
#	packages/client/ui-subagent/tests/conversation-ui.client.spec.tsx
#	packages/client/ui-theme/tests/appearance-row.client.spec.tsx
#	packages/client/ui-theme/tests/font-size-row.client.spec.tsx
#	packages/client/ui-tool/tests/coverage-tails.client.spec.tsx
#	packages/client/ui-tool/tests/diff-card.client.spec.tsx
#	packages/client/ui-tool/tests/image-card.client.spec.tsx
#	packages/client/ui-tool/tests/read-card.client.spec.tsx
#	packages/client/ui-tool/tests/terminal-card.client.spec.tsx
#	packages/client/ui-trajectory/tests/views.client.spec.tsx
#	packages/client/ui-user-questions/tests/plan-review-panel.client.spec.tsx
#	packages/client/ui-user-questions/tests/user-questions-composer.client.spec.tsx
#	packages/client/ui-workflow-run/tests/workflow-run.client.spec.tsx
#	packages/client/ui-workspace/tests/apply.client.spec.ts
#	packages/client/ui-workspace/tests/tree.client.spec.ts
#	packages/client/ui-workspace/tests/workspace-browser.client.spec.tsx
#	packages/client/ui-workspace/tests/workspace-picker.client.spec.tsx
#	packages/client/ui-workspace/tests/workspaces-service.client.spec.ts
#	packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
#	packages/jobs/tool-jobs/src/index.ts
#	packages/shell/tool-bash/README.i18n.yaml
#	packages/test-support/client-runtime/src/sessions.ts
2026-09-21 11:34:20 +08:00
creatixchu 62891ca4fc Merge origin/master into worktree/issue-3881-folder-drop 2026-09-21 11:11:36 +08:00
Yichen Jiang 0aa6f94749 feat(web): expose input plugin extension hooks 2026-09-21 11:11:21 +08:00
creatixchu 82692090c8 Merge remote-tracking branch 'origin/master' into feat/4562-file-open-apps 2026-09-21 09:56:00 +08:00
imccyu 8e441f7da2 test(browser): complete sidebar retention and navigation coverage 2026-09-21 04:12:54 +08:00
imccyu 7be9188d20 fix(browser): complete preload fixtures and scrollbar bindings 2026-09-21 04:12:54 +08:00
imccyu d8438ecf06 refactor(browser): isolate Electron code and defer native coverage 2026-09-21 03:25:30 +08:00
imccyu 94bc5b25b8 test(desktop): cover webview and sidebar retention lifetimes 2026-09-21 03:13:15 +08:00
imccyu 0e652514ea fix(browser): declare workspace client injection 2026-09-21 02:33:35 +08:00
imccyu 60ef7b1261 fix(ci): refresh sidebar catalog and complete API docs 2026-09-21 02:29:00 +08:00
imccyu e9a0d5ac77 fix(desktop): address sidebar retention and webview review findings 2026-09-21 02:17:37 +08:00
imccyu 1489526281 fix(desktop): import updater declarations through package types 2026-09-21 01:47:28 +08:00
imccyu 37df1ea375 fix(browser): separate desktop types from client compilation 2026-09-21 01:47:20 +08:00
imccyu c402892c1a feat(browser): add manual page recovery and cwd storage grouping 2026-09-21 00:58:23 +08:00
imccyu cbd866fa72 refactor(browser): separate navigation and presentation providers 2026-09-21 00:58:23 +08:00
imccyu 96b2aca346 feat(sidebar): retain session views across tab presentation changes 2026-09-21 00:58:23 +08:00
imccyu bf712e1404 feat(dockkit): add stable retained tab layout 2026-09-21 00:58:22 +08:00
imccyu 4533be9531 fix(chat): address presentation review findings 2026-09-21 00:32:43 +08:00
imccyu b173fe1c19 Merge pull request #4749 from deepseek-harness/feat/chat-presentation-channel
feat(ui-chat): restore independent work-detail presentation from #4565
2026-09-21 00:10:18 +08:00
Yichen Jiang c7e6e36dd1 fix(web): keep a superseded creation notice silent and add its e2e
Review follow-ups on the refused-creation notice:

- `openWorkspace` raises `createFailed` only while its navigation is
  current, so a refusal that lands after a later navigation or owner
  disposal stays silent — the gate `initializeDefaultWorkspace` already
  uses and what the README states; two service cases pin it.
- `RowActionToast` switches on the closed notice union and ends in
  `assertNever`, so an unhandled kind fails to compile instead of
  rendering another notice's copy.
- `apps/web/tests/new-session-refused.e2e.ts` drives the composed Web
  server with a user preset whose row cannot resolve and compares the
  notice's ARIA golden, beside the default-Workspace failure scenario.
- `@throws` on `openWorkspace` covers every failure (catalog
  regenerated); `RowToast.createFailed` records why the Host code stays
  in the copy; the README states that other failures show their own
  message.
2026-09-20 23:22:13 +08:00
imccyu f1c035b1e9 test(chat): align presentation coverage and snapshots 2026-09-20 23:20:07 +08:00
imccyu bcd14d776c perf(ui-chat): memoize tool and command rows 2026-09-20 22:45:29 +08:00
imccyu b6f99fad55 feat(ui-chat): filter system prompts and permission commands 2026-09-20 22:45:29 +08:00
imccyu 007241d2a8 feat(ui-chat): add text shimmer to running rows 2026-09-20 22:45:29 +08:00
imccyu e24805a536 feat(ui-chat): refine reasoning previews and disclosure cues 2026-09-20 22:45:28 +08:00
imccyu 508329fe57 feat(ui-chat): add presentation policy channel 2026-09-20 22:45:28 +08:00
Yichen Jiang 93ad804bf1 fix(web): report a refused new session through the Workspace notice
An explicit New Session (sidebar and header buttons, the workspace row
button, and the hero workspace pick) whose `session.create` the Host
refuses — for example a default preset whose composition names a
plugin that no longer resolves (`agent-preset/invalid`) — was only
logged with `console.warn`, so the click looked like it did nothing.

`openWorkspace` now shows the failure through the shared Workspace
notice as a `createFailed` toast quoting the Host's stable code and
message on the long hold, then rethrows as before. Startup restoration
does not go through `openWorkspace` and stays console-only.
2026-09-20 22:40:00 +08:00
creatixchu 5953ab2913 test(composer): use explicit void paste handler 2026-09-20 21:24:49 +08:00
creatixchu 444ce0444b fix(composer): type paste regression and refresh slot catalog 2026-09-20 21:14:44 +08:00
creatixchu 52a4a5bdb3 fix(composer): preserve batches and quoted directory references 2026-09-20 21:12:06 +08:00
07akioni 27fa7ed9ff Merge pull request #4681 from deepseek-harness/xtr/default-workspace-first-send
feat(workspace): prepare a default workspace on startup
2026-09-20 21:04:06 +08:00
Turtle 31e6b3f150 fix(client): rotate every ongoing StateDot loader in phase (#4737)
CSS animations start when their element is inserted, so loaders mounted
at different moments rotated out of step in the sidebar session list.
The ongoing loader now pins its spin and dash animations to document
time zero on mount so every visible loader shares one phase.
2026-09-20 20:45:23 +08:00