Commit Graph
6642 Commits
Author SHA1 Message Date
Yichen Jiang d8d6081f44 perf(ui-sidebar-files): give the navigator's covering rules a subject
The two rules that hide a row's body under a filled navigator started with
`:has(`, so the browser treated every element as a possible subject and
restyled the whole document after any DOM change. Both rows that host the
navigator now carry data-files-navigator-row, which the rules name.
2026-11-07 16:22:21 +08:00
Dudu-0223 5195b73915 fix(ui-subagent): distinguish unread catalogs and isolate browser checks 2026-11-07 13:46:49 +08:00
Dudu-0223 ee8f1d8dab fix(ui-subagent): prepare child catalogs on retry 2026-11-07 12:24:27 +08:00
Dudu-0223 c867b5cc7e docs(ui-subagent): align catalog preparation descriptions 2026-11-07 01:06:12 +08:00
Dudu-0223 8e98ccff62 fix(ui-subagent): read direct child catalogs on explicit expansion 2026-11-07 01:06:12 +08:00
Dudu-0223 e89d2b031f fix(ui): show subagent descriptions above names without arrows (#7730)
* fix(ui): show subagent descriptions above names without disclosure arrows

* fix(ui): narrow subagent result cards

* Revert "fix(ui): narrow subagent result cards"

This reverts commit 23a5a353ac9daf0e322f28e19c9d2c2cfbb15acb.

* test(web): sample agent row geometry in one browser task
2026-11-07 01:03:59 +08:00
Yudong Han 2d463af8d2 Merge pull request #7365 from deepseek-harness/feat/sidebar-file-search
feat(ui-sidebar-files): 侧栏文件树新增搜索栏 UI 与排除规则设置
2026-11-07 00:56:13 +08:00
imccyu e48c9cc529 fix(ui-chat): keep manual history available and settle prepend anchors 2026-11-06 23:37:23 +08:00
imccyu 33f5c3ba3e fix(ui-chat): reuse screen preservation for history prepends 2026-11-06 23:37:22 +08:00
imccyu 0a228f0a6a feat(ui-chat): load earlier history with explicit consumption intent 2026-11-06 23:37:20 +08:00
Turtle 0c2559a602 Merge pull request #8032 from deepseek-harness/turtle/goal-button-order-8c781e0a57fd
fix(ui-goal): order goal actions edit, clear, pause and tighten icon gaps
2026-11-06 21:01:56 +08:00
Yudong Han d6aec866d3 Merge pull request #8001 from deepseek-harness/perf/open-in-app-cache
perf(open-in-app): 文件右键菜单不再等待关联应用查询,按文件类型缓存
2026-11-06 18:56:58 +08:00
lsdsjy d51d623bfc feat(account): 接入通用通知接口并统一账号服务 (#7550)
将赠金专用提示迁移到通用通知 list、content 和 events 接口,支持轮询、语言刷新及单次交互上报。

统一账号服务和 Remote,通知 UI 放入侧栏并保持独立生命周期。

Refs #6373
2026-11-06 17:40:24 +08:00
yudshj af1a520b5a test(open-in-app): 显式忽略后台刷新返回的 Promise
refreshApplications now returns a Promise; the refresh lifecycle test starts refreshes without awaiting them, so it marks them with void for the type-aware no-floating-promises lint.
2026-11-06 17:21:56 +08:00
Magolor 2f9d5d083c Show server-masked credential previews by Unicode code point 2026-11-06 16:59:29 +08:00
Magolor 5e39b7dcb5 fix(settings): hide unavailable API key reveal controls 2026-11-06 16:59:28 +08:00
Magolor ef3a02167a fix(settings): preserve saved API key mask length 2026-11-06 16:59:27 +08:00
Magolor 1fa3a9d191 fix(settings): explain saved-key actions and environment fallback 2026-11-06 16:59:26 +08:00
Magolor 7d81a91577 fix(settings): keep saved-key editing within the existing input 2026-11-06 16:59:00 +08:00
Magolor 86247d664b fix(settings): protect saved keys and preserve clear failure state 2026-11-06 16:58:59 +08:00
Magolor 334a76ef88 fix(settings): show masked saved keys and restore environment auth 2026-11-06 16:58:49 +08:00
TurtleandYifffan 4736af3b00 test(ui-goal): drop unnecessary button cast
Co-authored-by: Yifffan <[email protected]>
2026-11-06 16:26:37 +08:00
imccyu 7e00f186e2 Merge pull request #8022 from deepseek-harness/turtle/fix-ungrouped-new-session-8d376327b451
fix(ui-workspace): drop the inert New Session button from the Ungrouped header
2026-11-06 16:07:56 +08:00
TurtleandYifffan a8fb5eb9fa fix(ui-goal): keep goal action positions while activation loads
Co-authored-by: Yifffan <[email protected]>
2026-11-06 16:07:17 +08:00
TurtleandYifffan eba9e768e6 fix(ui-goal): order goal actions edit, clear, pause and tighten icon gaps
Refs #8024

Co-authored-by: Yifffan <[email protected]>
2026-11-06 15:39:00 +08:00
yudshj 54387e9278 feat(open-in-app): 某类型第一次右键时最多等 300 ms 关联应用再弹出菜单
A file type without a recorded association answer now holds the file menu until the background query settles, 300 ms pass, or the menu closes, so the application row usually opens already named instead of changing after the menu appears. Later openings of the type still show the recorded answer at once and refresh in the background. Open menus track the answer they last applied per verification, so answers for other types never re-resolve them. README documents the wait and its first-opening delay.
2026-11-06 15:30:04 +08:00
winewill 04188f67e7 Merge pull request #7951 from deepseek-harness/fix/desktop-update-progress-width
fix(desktop): 稳定下载进度宽度并补充检查更新反馈
2026-11-06 15:23:44 +08:00
Turtle ea7c3c11c6 Merge pull request #7976 from deepseek-harness/feat/creator-persona-intent
feat(preset): state Creator's DSH customization purpose
2026-11-06 15:12:46 +08:00
Turtle ce1bb48a12 docs(ui-workspace): state why the Ungrouped header has no New Session 2026-11-06 15:12:04 +08:00
Turtle 1d4aaa8bf9 fix(ui-workspace): drop the inert New Session button from the Ungrouped header
Ungrouped Sessions share no directory, so the header's + never started a Session.

Fixes #8018
2026-11-06 14:57:19 +08:00
winewill e69ab4fcc5 Merge pull request #7925 from deepseek-harness/turtle/fix-windows-cursor-schedule-07061c1d6f38
fix(ui-schedule): keep Pause/Resume enabled-looking while the Host answers
2026-11-06 14:37:22 +08:00
Yichen Jiang 6a315e6aea Merge pull request #8008 from deepseek-harness/fix/forge-file-menu-and-comment-echo
fix(forge): center the selected file in the file menu and shorten comment quotes
2026-11-06 14:22:57 +08:00
winewill f823dac5c7 fix(desktop): open download status from progress indicator 2026-11-06 13:54:41 +08:00
Turtle ac006780c0 Merge pull request #7405 from deepseek-harness/fix/plugin-not-running-status
fix(plugins): mark selected bundles DSH skipped as not running
2026-11-06 13:29:58 +08:00
std4453 80e3e61577 Merge pull request #7713 from deepseek-harness/feat/window-level-attachment-paste
feat(web): route unfocused pastes to one composer
2026-11-06 13:27:04 +08:00
turtle1999 b9b02f324c fix(preset): address dsh-doc review guidance and checks 2026-11-06 13:15:04 +08:00
Yichen Jiang 3c839748bd fix(forge): address review on file menu reveal and comment quote summaries
- Reveal the selected file again when files arrive or reorder around it,
  so a navigation that selects a file before the diff loads still scrolls
  the wide pane; a changed filter shows its results from the top.
- Compare quote summaries in draft change detection, so restoring a draft
  that only adds or changes a summary updates the snapshot and storage.
- Read the full path and range instead of the short label to assistive
  technology; the Web snapshot now records src/<file>.
- Type the stored summary schema against QuoteSummary, test the stored
  round trip, and document why revealRow does not use scrollIntoView.
2026-11-06 13:10:37 +08:00
Turtle 652dc65597 fix(plugins): report invalid listedByDefault as a metadata diagnostic
The launcher ignores dsh.bundle.listedByDefault, so a non-boolean value now
goes to meta.error instead of error. error again means the layer was skipped,
which the plugin page relies on to mark a selected bundle as not running.
Card head geometry moves to custom properties shared with the reason line.
2026-11-06 12:57:05 +08:00
Yichen Jiang f8dd6787b3 Merge remote-tracking branch 'origin/master' into fix/forge-file-menu-and-comment-echo
# Conflicts:
#	packages/experimental/client-ui-forge/README.i18n.yaml
#	packages/experimental/client-ui-forge/README.md
#	packages/experimental/client-ui-forge/README.zh.md
2026-11-06 11:43:08 +08:00
Yichen Jiang 1192061461 fix(forge): show review comment quotes by file and comment in the composer
Add to input inserted the whole model-facing reference (header, source,
diff hunk) as the composer quote, which was unreadable. QuotePreview and the
composer's insertQuote now accept an optional QuoteSummary that replaces the
inline excerpt with a label and body and opens a title/detail/body popover;
drafts store it, and the sent message still carries the full text. The Forge
panel supplies the file name, side and lines, path, and comment.
2026-11-06 11:29:43 +08:00
Yichen Jiang d0290409f9 Merge branch 'master' into turtle/add-gemini-protocol-5881f01a9a7f 2026-11-06 11:05:41 +08:00
yudshj ea7c21c8a4 fix(open-in-app): 每次打开文件菜单都校验路径,已打开的菜单只响应本类型的回答
A file menu now reuses its verified Host path only while its own association subscription re-resolves it synchronously, and the verification record is cleared when a stat starts instead of when the registry observes. Every opening therefore runs its own stat whatever order the context-menu registry observes and resolves in; a registry change can at most cost another stat or a flicker. An open menu re-resolves only when its own file type's answer changes. The answer comparison lists every application field and fails to compile when the type gains one. README documents the remaining cache limitations.
2026-11-06 09:01:29 +08:00
yudshj 0eda288f13 fix(open-in-app): 后台刷新同一时间只跑一个,验证期间的回答不再触发重复 stat
A newer file-menu opening cancels the unfinished background refresh and queries its own file, so a stuck native query cannot block later refreshes and quick openings no longer fan out concurrent queries. Answers published while a menu is still verifying its target no longer restart that verification. README wording now matches the refresh order and documents the remaining cache limitations.
2026-11-05 23:47:41 +08:00
yudshj feeb88466c perf(open-in-app): 文件右键菜单不再等待关联应用查询,按文件类型缓存
The file context menu now names the application recorded for the file's type without waiting for the Host's native association query (osascript / PowerShell / gio), then re-queries in the background and updates the open menu in place when the answer changes. Before the first answer for a type, the row opens the file through its OS association.
2026-11-05 23:22:47 +08:00
TurtleandLegGasai d9768b2517 fix(ui-settings-models): require a key and the four Gemini reasoning levels
A Gemini API route cannot authenticate without a key, so the create card
and the editor require one. Its models offer only minimal, low, medium,
and high, each sent under its own name, with no Off.

Co-authored-by: LegGasai <[email protected]>
2026-11-05 21:05:37 +08:00
Turtleandwinewill 5c5af84f94 Merge remote-tracking branch 'origin/master' into turtle/fix-windows-cursor-schedule-07061c1d6f38
Co-authored-by: winewill <[email protected]>
2026-11-05 20:40:45 +08:00
TurtleandLegGasai d2c00f2554 feat(llm-pi-ai): support the Gemini protocol for custom model APIs
Add pi-ai's google-generative-ai protocol to hand-declared routes, read
Gemini's native model listing during discovery, and offer it as "Gemini
API" in the Custom model API form.

Refs #7978

Co-authored-by: LegGasai <[email protected]>
2026-11-05 19:41:07 +08:00
winewill fe33c6358f Merge remote-tracking branch 'origin/master' into fix/desktop-update-progress-width
# Conflicts:
#	apps/desktop/README.i18n.yaml
#	apps/desktop/README.md
2026-11-05 19:18:48 +08:00
winewill 46bf9a9d44 Merge pull request #7887 from deepseek-harness/fix/windows-workspace-first-paint
Fix white flash on Windows dark workspace startup
2026-11-05 19:05:23 +08:00
Turtle f1a1ec820b Merge remote-tracking branch 'origin/master' into turtle/fix-pr-7405-conflict-d4d9437d42a1
# Conflicts:
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	packages/boot/plugin-manager/README.i18n.yaml
2026-11-05 18:35:13 +08:00