Commit Graph
36 Commits
Author SHA1 Message Date
675164957a feat(analytics): track navigation entries and preset selections (#6600)
* feat(analytics): track navigation entry clicks, preset switches, and new-session sends

Rebuilds the click events of #6600 on the region-owned More menus in
release/dsh-0.2.1. Exposure events, creator_mode_enter, and the
ui-workspace onOpened observer are not included.

- sidebar_menu_click gains position plus the new_session and more entries:
  New Session (sidebar button, brand, titlebar), Plugins and Automation
  rows, the left sidebar More button, and entries opened from its menu.
- more_menu_item_click records Browse other plugins and Create your plugin
  per region.
- agent_preset_switch reports applied or unbound staged picks; the seat
  controller now returns an explicit apply outcome.
- code_work_view_toggle reports a successful change of the setting.
- send_button_click adds is_new_session and the Session's preset category.

Co-authored-by: imccyu <[email protected]>

* test(analytics): cover navigation, preset switch, toggle, and send analytics

Co-authored-by: imccyu <[email protected]>

* docs(analytics): document click events and regenerate catalogs

Co-authored-by: imccyu <[email protected]>

* test(ui): reuse the developer tools row accessor without a new unknown cast

Co-authored-by: imccyu <[email protected]>

* fix(analytics): classify preset switches by preset id only

agent_preset_switch now maps the preset id the same way send_button_click does: cordis is creator, ptc, minimal and standard keep their ids, and any other id is other; a published preset name no longer changes the category.

Co-authored-by: imccyu <[email protected]>

---------

Co-authored-by: dingyifan <[email protected]>
Co-authored-by: imccyu <[email protected]>
2026-10-21 11:17:55 +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
Yifffan 6eaa595fdb Merge pull request #6073 from deepseek-harness/feat/adaptive-ui-and-skills
feat(skills): 新增自适应客户端规范(Skill),并适配插件页与自动化任务页页头
2026-10-12 23:52:49 +08:00
Yifffan 9055e29891 Merge pull request #5172 from deepseek-harness/ui/plugin-placeholder-default-name
fix(ui): 修复会话操作间距、悬停交互与任务菜单层级
2026-10-12 21:38:13 +08:00
Yifffan fddd704c7f Merge pull request #5969 from deepseek-harness/design/official-plugin-icons-safe-area
style(web): unify official plugin artwork and add drawing skill
2026-10-09 18:10:26 +08:00
Yifffan 31ed8ec4c4 Merge pull request #5435 from deepseek-harness/ux/plugin-guide-package-only
refine(web): 精简插件安装引导并补充插件升级说明
2026-09-29 12:29:08 +08:00
Yifffan e5587c7ff5 Merge pull request #5354 from deepseek-harness/ux/plugin-manager-followup
fix(web): 暗色下关闭态开关不再像禁用,并微调插件管理说明图标
2026-09-28 15:58:21 +08:00
Yifffan a8fc0b3f16 Merge pull request #5233 from deepseek-harness/ui/plugin-example-visual-polish
fix(plugins):  change plugin placeholder npm, visual refine and UX bug ifx
2026-09-27 15:02:43 +08:00
Yifffan f032bd2d04 Merge pull request #5002 from deepseek-harness/session-archieve-refine
feat(client): explicit three-way archived filter with empty-state refinements
2026-09-24 00:18:51 +08:00
Yifffan 5bc57902d5 Merge pull request #4970 from deepseek-harness/docs/client-ui-ux-skill
docs(skills): add the dsh-client-ui-ux skill
2026-09-23 11:53:56 +08:00
Yifffan f33b604ca2 Merge pull request #4786 from deepseek-harness/fix/4781-dedupe-open-with-apps
fix(native-command): macOS「从应用打开」菜单去重
2026-09-21 17:05:06 +08:00
Yifffan f91f461dc6 Merge branch 'master' into fix/4781-dedupe-open-with-apps 2026-09-21 14:16:43 +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
Yifffan 2ced4d130b Merge branch 'master' into fix/desktop-minimize-vibrancy 2026-09-21 10:54:01 +08:00
Yifffan a30f3a68c8 Merge pull request #4509 from deepseek-harness/feat/macos-sidebar-ui-and-drag-refine
feat(client): frame-owned macOS window chrome with single drag owner
2026-09-19 16:58:41 +08:00
Yifffan afc27869f7 Merge pull request #4532 from deepseek-harness/feat/plugin-refine
refine(plugin-manager): polish install dialog, wizard states, and plugin artwork
2026-09-18 18:05:11 +08:00
Yifffan 54b76da126 Merge branch 'master' into feat/plugin-refine 2026-09-18 15:30:26 +08:00
Yifffan a363f7b5af Merge branch 'master' into feat/plugin-refine 2026-09-18 15:21:20 +08:00
Yifffan 0c4f554d6e Merge branch 'master' into feat/plugin-refine 2026-09-18 15:16:13 +08:00
Yifffan 7c4067c24e Merge pull request #4044 from deepseek-harness/fix/sidebar-document-preview-polish
Sidebar refine: 侧边栏 PDF/图片预览/格式空态/loading 等整体优化
2026-09-14 18:37:30 +08:00
Yifffan 44cee2e1f5 Merge branch 'master' into fix/sidebar-document-preview-polish 2026-09-14 16:35:23 +08:00
Yifffan 20d78f0e77 Merge branch 'master' into fix/sidebar-document-preview-polish 2026-09-13 07:26:09 +02:00
Yifffan 1f76250952 Merge branch 'master' into fix/sidebar-document-preview-polish 2026-09-11 18:37:35 +02:00
Yifffan ef39ebd0bb Merge pull request #3969 from deepseek-harness/refine/connecting-ui
feat(sidebar): refine the connection indicator states and interaction
2026-09-11 08:06:56 +02:00
Yifffan c160884c19 Merge branch 'master' into refine/connecting-ui 2026-09-11 07:32:49 +02:00
Yifffan 879949e1c9 Merge branch 'master' into refine/connecting-ui 2026-09-10 14:55:03 +02:00
Yifffan 012475f7ae Merge pull request #3699 from deepseek-harness/fix/input-placeholder-stat-ui-polish
fix(web): composer polish — menu layering, placeholders, spacing, and two-pill session stats
2026-09-08 05:35:20 +02:00
Yifffan 7005d500b4 Merge branch 'master' into fix/input-placeholder-stat-ui-polish 2026-09-07 19:18:33 +02:00
Yifffan 12d7b4ed0c Merge pull request #3262 from deepseek-harness/feat/session-turn-stats-display
feat(web): turn-tail usage and time stat pills with anchored dialogs
2026-08-28 13:52:02 +02:00
Yifffan 031bec12eb Merge pull request #3263 from deepseek-harness/hero-fish-hover-swim
feat(web): hero fish hover swim morph
2026-08-28 13:51:49 +02:00
Yifffan 15f66b9c3c Merge pull request #3265 from deepseek-harness/fix/web-ui-polish
fix(client): Web 会话与输入 UI 细节修复
2026-08-28 13:20:23 +02:00
Yifffan 5e610e1a74 Merge branch 'master' into hero-fish-hover-swim 2026-08-28 11:51:06 +02:00
Yifffan 8f4fcdd792 Merge branch 'master' into feat/session-turn-stats-display 2026-08-28 11:50:42 +02:00
Yifffan 8a8db06d06 Merge branch 'master' into fix/web-ui-polish 2026-08-28 11:50:38 +02:00
Yifffan f322d5cb0d Merge pull request #2527 from deepseek-harness/fix/cordis-tool-styles
fix(web): align the sidebar Cordis panel with menu and footer conventions
2026-08-14 10:36:55 +08:00