Commit Graph
6164 Commits
Author SHA1 Message Date
Yichen Jiang 7a75f225c5 Merge remote-tracking branch 'origin/master' into worktree/web-search-dynamic-tool-e26c2b
# Conflicts:
#	apps/cli/tests/profiles/headless/tests/fixtures/cli.patch.yml
#	apps/cli/tests/profiles/sdk/keyless-smoke.e2e.ts
#	apps/web/tests/expected/plugin-config/official.expected.md
#	apps/web/tests/expected/plugin-manager/live-enabled.expected.md
#	apps/web/tests/expected/plugin-manager/manager.expected.md
#	apps/web/tests/expected/plugin-manager/refresh.expected.md
#	apps/web/tests/plugin-config.e2e.ts
#	apps/web/tests/plugin-manager.e2e.ts
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	docs/subsystems/web.i18n.yaml
#	docs/subsystems/web.md
#	docs/subsystems/web.zh.md
#	packages/client/ui-settings-web-search/README.i18n.yaml
#	packages/client/ui-settings-web-search/README.md
#	packages/client/ui-settings-web-search/README.zh.md
#	packages/web/tool-web/README.i18n.yaml
#	packages/web/tool-web/README.md
#	packages/web/tool-web/README.zh.md
#	packages/web/web-search-deepseek/README.i18n.yaml
#	packages/web/web-search-deepseek/README.md
#	packages/web/web-search-deepseek/README.zh.md
#	packages/web/web-search-deepseek/src/provider.ts
#	packages/web/web-search-deepseek/tests/deepseek.spec.ts
#	packages/web/web/src/index.ts
#	snapshots/session/web-search-endpoint-guidance/session.v4.jsonl
2026-10-21 14:47:47 +08:00
_Kerman 6bfe05c6f5 refactor(agent): name captured step selection modelSelection 2026-10-21 14:08:11 +08:00
_Kerman 4b36aebb97 Merge remote-tracking branch 'origin/master' into xtr/session-model-selection 2026-10-21 13:57:15 +08:00
_Kerman 62a1075fe7 Merge remote-tracking branch 'origin/master' into xtr/session-model-selection
# Conflicts:
#	docs/persistence-schema.json
2026-10-21 13:56:41 +08:00
Turtle c7be617437 Merge remote-tracking branch 'origin/master' into turtle/plugin-sentence-case-299acab3ee89
# Conflicts:
#	packages/experimental/cua/src/application-access.ts
2026-10-21 13:28:18 +08:00
CreatixChu c266317763 Merge pull request #6650 from deepseek-harness/feat/cua-approval-format
feat(approval): 为 CUA 应用授权提供固定审批格式
2026-10-21 13:18:48 +08:00
Turtle edde4a0667 Merge pull request #6795 from deepseek-harness/turtle/standard-plugin-manager-a5c4c80ab718
feat(preset): enable plugin_manager in standard mode
2026-10-21 13:09:08 +08:00
creatixchu 56f783f50a Merge remote-tracking branch 'origin/master' into feat/cua-approval-format
# Conflicts:
#	docs/persistence-schema.json
2026-10-21 12:48:44 +08:00
TurtleandMagolor 472f0c8258 docs: formalize sentence case for English UI copy
Record the sentence-case rule for English UI copy and plugin titles, sync remaining README label references, and keep the session-inspector Chinese dictionary unchanged.

Refs #6790

Co-authored-by: Magolor <[email protected]>
2026-10-21 12:06:49 +08:00
ZiyaandZiyaZhang e819a7126b feat(web): hide persistent terminal bundle controls (#6753)
Co-authored-by: ZiyaZhang <[email protected]>
2026-10-21 03:52:24 +00:00
Turtle f9ec718a48 feat(preset): enable plugin_manager in standard mode 2026-10-21 11:47:26 +08:00
Turtle b9d049d041 fix(plugins): use sentence case for built-in plugin English copy
Refs #6790
2026-10-21 11:28:26 +08:00
creatixchu d605c90481 test(cua): wait for feature preview before measuring layout 2026-10-21 10:40:33 +08:00
creatixchu 0fa948bf16 Merge latest master into CUA approval format 2026-10-21 10:36:56 +08:00
ZiyaandZiyaZhang 5e9bb51724 feat(plugins): Ralph 循环和会话搜索默认从 GUI 隐藏 (#6754)
* feat(plugins): hide Ralph and session search from default discovery

* fix: keep hidden bundled plugins explicitly activatable

---------

Co-authored-by: ZiyaZhang <[email protected]>
2026-10-20 10:26:31 -07:00
_Kerman 364226ebd8 test(web): align model selection expectations with Auto 2026-10-20 22:13:58 +08:00
_Kerman a9c006f9c3 refactor(agent): own model selection on each agent 2026-10-20 21:09:09 +08:00
creatixchu 96e962bc12 Merge remote-tracking branch 'origin/master' into feat/cua-approval-format
# Conflicts:
#	packages/experimental/cua/src/client/mount.ts
2026-10-20 21:05:45 +08:00
_Kerman 639602e63a Merge origin/master into xtr/session-model-selection 2026-10-20 20:57:11 +08:00
creatixchu afa2ce20b3 test(cua): use plugin lifecycle wait budgets for repeated toggles 2026-10-20 20:18:02 +08:00
creatixchu e77640f24d test(web): align plugin snapshots with persistent progress status 2026-10-20 20:17:53 +08:00
creatixchu beae0efd91 fix(plugins): retain displayed details during activation refresh 2026-10-20 20:17:53 +08:00
creatixchu 6172b26cab test(cua): cover wrapped loading and persistent diagnostics during row changes 2026-10-20 20:17:53 +08:00
creatixchu 817d4ec740 fix(plugins): announce toggle progress through a persistent live region 2026-10-20 20:17:53 +08:00
creatixchu 3bc49f2825 fix(cua): retain permission guidance and known failures while loading 2026-10-20 20:17:53 +08:00
creatixchu e057fe30d5 fix(cua): match empty application loading and settled heights 2026-10-20 20:17:31 +08:00
creatixchu b6ea723e9e test(cua): isolate toggle regression from consent storage changes 2026-10-20 20:17:31 +08:00
creatixchu 9c861f145e test(cua): retain screenshot directory setup import 2026-10-20 20:17:31 +08:00
creatixchu cf18b49144 fix(cua): pause permission queries while toggling the bundle 2026-10-20 20:17:31 +08:00
Turtle 358ce64945 Merge pull request #6738 from deepseek-harness/revert-6418-worktree/session-agent-controller-refactor-ff892d
Revert "feat(agent): admit Web prompts through the agent controller"
2026-10-20 19:28:42 +08:00
imccyu b839823118 Merge pull request #6673 from deepseek-harness/fix/touch-tooltip-interactions
fix(client): align touch tooltips and hover affordances
2026-10-20 19:26:56 +08:00
Turtle aa8bdfc79e Revert "feat(agent): admit Web prompts through the agent controller" 2026-10-20 19:09:02 +08:00
Stevring 65d4afafd6 fix(client): reveal menu shortcuts during keyboard navigation 2026-10-20 18:57:48 +08:00
Stevring 62f78d82f2 fix(client): preserve keyboard focus hints without hover 2026-10-20 18:07:55 +08:00
Turtle e1a11ef09c Merge pull request #6222 from deepseek-harness/turtle/auto-review-cache-ffc00f27f914
fix(auto-review): keep review requests cacheable across calls
2026-10-20 18:05:26 +08:00
Stevring a8e6fe84f0 fix(client): restore touch workspace and search actions 2026-10-20 17:59:13 +08:00
_Kerman 8b79a1ddcc Merge origin/master into xtr/session-model-selection 2026-10-20 17:22:59 +08:00
Stevring b7d8943cfa Merge origin/master into fix/touch-tooltip-interactions 2026-10-20 17:12:10 +08:00
Stevring 8fe2db10a0 fix(client): address touch interaction review findings 2026-10-20 17:07:57 +08:00
imccyu cc724905a2 Merge pull request #6658 from deepseek-harness/feat/pwa-install-assets
feat(web): ship PWA install icons and standalone metadata
2026-10-20 16:31:07 +08:00
imccyu 14e5add505 Merge master into DSH 0.2.1 entry customization synchronization branch
Bring master 45d1196d3fe into the release/dsh-0.2.1 squash commit of #6247
so the release commit stays an ancestor of master.

Conflict resolutions:
- apps/web/tsconfig.json, tsconfig.host.json: keep the entry-customization
  e2e and master's Computer Use e2e entries.
- docs/subsystems/slots.{md,zh.md}: keep both added paragraphs; re-record the
  slots, ui-primitives, and ui-workspace README translation pairs.
- ui-sidebar SidebarRoot.tsx and locales.ts: keep the More menu imports and
  copy next to master's version-copy toast.
- apps/web/tests/agent-preset-selection.e2e.ts: keep the New Session
  blank-reuse assertions, read presets through master's
  sessionProjections.checkpoint() instead of the deprecated stateOf().

Follow-ups on master's side:
- ui-sidebar sidebar-root spec: give master's version-copy render the entry
  pin props that SidebarRootInjected now requires.
- snapshots/web/steering/trajectory.expected.md: add the More conversation
  views trigger to master's new Trajectory golden.
2026-10-20 15:47:29 +08:00
Stevring 5ea275ca2e test(client): verify blocked split pointer hit testing 2026-10-20 15:23:29 +08:00
5ff29190ed feat(ui): add navigation entry customization (#6247)
* fix(ui): avoid tooltip trigger overlap when a side fits

* feat(ui): add navigation entry customization

* fix(test): keep tooltip geometry independent of JSX types

* fix(ui): align customization catalogs and integration fixtures

* test(ui): complete customization lifecycle and release integration coverage

* fix(ui): return entry discovery to the installed plugin list

* docs: refresh module graph for entry customization

* build: refresh workspace links for the moved entry customization package

* docs: regenerate catalogs and pairing hashes for the moved entry customization package

* test(web): cover default-loaded entry customization in the Web e2e

* test(ui): describe entry customization as a browser plugin in the host entry spec

* build: order entry customization publication files as workspace constraints require

* test(release): drop the moved entry customization package from the experimental family list

* style(ui): use the shared focus ring color on entry customization triggers

* test(web): re-record goldens for the default-loaded More navigation menus

* test(web): add the More conversation views trigger to the remaining CI-reported goldens

* docs: record region-owned pins for plugin entry customization

* refactor(ui): rebuild entry customization on region-owned pins and More menus

- Each navigation region (left sidebar, Conversation header, right sidebar
  guide) persists its own unpinned list under
  dsh.slot.manual-order.<list slot key>.v1, filters its own launchers, and
  draws its own More button and Menu around its actions slot.
- ui-entry-customization only registers the shared menu rows (entries with
  pin buttons, Browse other plugins, Create your plugin) into the three
  actions slots and keeps no state.
- Remove ctx.layout.entryVisibility, the plugin store, left-sidebar drag
  reordering, and agentPresetNavigation; ui-layout and ui-agent-preset match
  release/dsh-0.2.1 again.
- Keep the release <nav> and Conversation tab-bar visibility conditions.
- Move the More glyph into ui-primitives as IconAppsAddOutline{Regular,Medium}.

* docs: compile the entry customization owner props example

* docs(ui): describe the wrapping Conversation tab row in the header comment

* fix(ui): return New Session to the Workspace blank and its unsent draft

- New Session (startSession without options) takes the blank-reuse path
  again instead of creating a fresh Session on every call, which hid the
  previous blank and its unsent draft since a5c9c2aaeef (#5775).
- A request that names an Agent preset skips blanks listing a different
  preset, so Creator entries no longer take over an ordinary draft.
- Record the change in a v0.2.1-rc.2 upgrade guide; the Host refresh of a
  stale loaded blank stays deferred (see the Agent Note).

* docs: regenerate the Cordis inspect catalog for New Session blank reuse

* fix(ui): keep the selected entry visible while unpinned

- Left-sidebar rows and View tabs keep the selected entry, with aria-current or aria-selected, until another entry is selected.
- Entry menu Creator action takes no region argument; the registration's region selects the prompt.
- Document the 2px panel-row and 32px View-tab gaps; drop commit hashes from the New Session Agent Note.

* fix(ui): leave a blank of another preset unstaged when starting Creator

startCreatorDraft stages cordis only when the main blank lists no preset or already lists cordis; navigation opens a separate Creator blank otherwise, so a Standard draft blank keeps its preset.

* feat(ui): choose whether a draft prompt replaces, appends to, or keeps an existing draft

- DraftInitializationOptions gains whenDraftExists ('replace' | 'append' | 'keep', default 'keep'); clearPreviousDraft stays and maps to 'replace' only when whenDraftExists is omitted.
- Append adds the prompt as new paragraphs after the existing text and references; attachments stay in every mode.
- The three Create your plugin entries append their regional prompt.

* test(web): align e2e with New Session blank reuse and the visible selected entry

* refactor(ui): share the draft paragraph writer between setDraft and appendDraft

---------

Co-authored-by: Yif <[email protected]>
Co-authored-by: imccyu <[email protected]>
2026-10-20 15:17:13 +08:00
Yichen Jiang 27c1b4c56f Merge pull request #6649 from deepseek-harness/xtr/fix-trajectory-input-order
fix(web): 修复停止补发后轨迹中的输入顺序
2026-10-20 15:14:49 +08:00
EricMoin 7bc928c449 fix(web): strengthen install icon validation 2026-10-20 15:06:37 +08:00
EricMoin b9e4a29210 fix(web): preserve detail in install icon exports 2026-10-20 14:35:00 +08:00
Stevring dbb0d2bd83 Merge origin/master into fix/touch-tooltip-interactions 2026-10-20 14:34:15 +08:00
Stevring 11e4b3f52f test(client): fix touch input and hover coverage checks 2026-10-20 14:34:03 +08:00
Turtle 62e5926995 Merge pull request #6583 from deepseek-harness/turtle/copy-version-click-5d1aa11ad7b6
feat(web): copy the local-build version from the sidebar brand
2026-10-20 14:15:39 +08:00
Turtle c3e9b28845 Merge pull request #6354 from deepseek-harness/agent/web-fetch-fakeip-469be4db70d0
fix(web)!: let web_fetch reach non-public destinations
2026-10-20 14:13:24 +08:00