Commit Graph
26300 Commits
Author SHA1 Message Date
edd2eee9e9 docs(tools): document parallel read-only tool contracts
Record the MCP resource provider concurrency requirement, the
working-directory recovery notice, and why lsp, goal, job_output and
job_kill stay exclusive; fix unbound-method lint in declaration tests.

Refs #8084

Co-authored-by: liukx0205 <[email protected]>
Co-authored-by: LegGasai <[email protected]>
2026-11-06 21:22:09 +08:00
270e7c5a56 feat(tools): declare read-only tools concurrency-safe
glob, grep, job_list, list_agents, list_subagent_models, schedule_list,
schedule_view, team_task_list, team_task_get, cordis_inspect_list,
cordis_inspect_query and the three MCP resource tools read state without
mutating the parent session, so sibling calls may overlap.

Refs #8084

Co-authored-by: liukx0205 <[email protected]>
Co-authored-by: LegGasai <[email protected]>
2026-11-06 20:53:35 +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 0d9f7f6ed0 Merge pull request #7795 from deepseek-harness/fix/credential-hint
fix(settings): protect saved API keys and allow clearing credentials
2026-11-06 17:17:06 +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 8b50763c0d test(credentials): expect masked metadata after provider restart 2026-11-06 16:58:49 +08:00
Magolor 334a76ef88 fix(settings): show masked saved keys and restore environment auth 2026-11-06 16:58:49 +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
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
Chinesezjc e643811b4d Merge pull request #7995 from deepseek-harness/fix/ci-8600dbc-gh-exec-sleep
test(forge-github): exec the fake gh sleep so deadline cases settle
2026-11-06 15:01:46 +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
Dudu-0223 4fc5f5838f Merge pull request #7989 from deepseek-harness/refactor/deduplicate-snapshot-sidecars
test: 复用重复的 snapshot schema 和 system prompt
2026-11-06 14:52:04 +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
winewill 9da22c1c3d test(desktop): align update status interaction coverage 2026-11-06 14:37:17 +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 610ed96855 fix(desktop): preserve update status in native fallback 2026-11-06 14:17:06 +08:00
_Kerman b1fa53b978 Merge pull request #8014 from deepseek-harness/luanlai/ptc-embedded-persistent
feat(ptc): 支持 embedded 模式启用 persistent PTC
2026-11-06 14:15:27 +08:00
winewill 63c63997cb fix(desktop): clarify update status and dialog failure feedback 2026-11-06 14:05:00 +08:00
winewill f823dac5c7 fix(desktop): open download status from progress indicator 2026-11-06 13:54:41 +08:00
Anlai Lu 41ef0fcaa9 refactor(ptc): 复用 embedded 载体的既有 process.js 启动 2026-11-06 13:51:24 +08:00
Turtle fef8334682 Merge pull request #7957 from deepseek-harness/docs/creator-plugin-detail
docs(skills): 补充单图插件详情的编写指引
2026-11-06 05:34:12 +00: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
turtle1999 969eee66b0 merge: integrate standard documentation review fixes 2026-11-06 13:29:08 +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
CreatixChu ad3ca91623 Merge pull request #6746 from deepseek-harness/feat/cua-shared-native-api
处理 Windows 实现过程中发现的 CUA 包接口变更
2026-11-06 13:14:30 +08:00
Jiawei Song 7f98d178d1 Merge pull request #7966 from deepseek-harness/refactor/tool-errors-foundation
feat(tools): structured error identity for registry-owned tool failures
2026-11-06 13:11:06 +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
Yudong Han 281b96264f Merge pull request #7999 from deepseek-harness/fix/desktop-office-skill-smoke
fix(desktop): 打包冒烟检查不再要求 Office 技能提供 path
2026-11-06 13:01:30 +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
Anlai Lu 4ac6a28e68 feat(ptc): 支持 embedded 模式启用 persistent PTC 2026-11-06 12:55:15 +08:00
Yichen Jiang 7a22c11866 test(web): expect the shortened review comment quotes in the composer
The forge-panel Web snapshot recorded the composer showing the whole
model-facing User Comment reference. The composer now shows the file name,
side and lines, and comment; review-message.expected.md, the text the model
receives, stays unchanged.
2026-11-06 12:53:01 +08:00
Turtle 7427ebe33d Merge pull request #8005 from deepseek-harness/turtle/locate-docs-environments
docs(skills): locate DSH resources by runtime environment
2026-11-06 12:33:00 +08:00
creatixchu 4995b0e87a Check activation results and narrow validated runner descriptors 2026-11-06 12:31:15 +08:00
creatixchu 92c73f12e4 Refresh CUA replay for activation and tree guidance 2026-11-06 12:29:59 +08:00
Yichen Jiang b81e8c823b fix(forge): center the selected file when the file menu opens
Scrolling by the least distance left a selected file below the fold
flush against the menu's bottom edge with none of its neighbors visible.
Mounting now centers a selected row that is out of view; later selection
steps in the wide pane still scroll by the least distance.
2026-11-06 12:26:41 +08:00
creatixchu 98698bf5f7 Check optional pipe ownership in runner launch tests 2026-11-06 12:17:24 +08:00
creatixchu 96a6b779fe Validate CUA response targets and stabilize platform permission loading 2026-11-06 12:15:41 +08:00
creatixchu f5c1a31125 Change Linux status flags only on child-owned pipes 2026-11-06 12:15:38 +08:00
creatixchu 16d87f95de Keep incomplete AX action metadata local to the observed element 2026-11-06 12:05:18 +08:00