Commit Graph
24924 Commits
Author SHA1 Message Date
Turtle 74a8d0486e fix(subprocess): recheck a known live group member instead of rescanning /proc
The Linux fallback owner polls its process group every 15 ms after the
direct child exits. Remember the live member found by the last scan and
read only its stat on later polls, so a long-lived background member no
longer costs a full synchronous /proc enumeration per poll.

Fixes #7600
2026-10-30 12:03:18 +08:00
Feiyu XiaandZrs000 5f01833f80 fix(client): align floating panels with the visual viewport (#6666)
* fix(ui-primitives): keep tall menus inside the mobile viewport

* fix(client): anchor model picker with Floating UI

Use Floating UI for fixed model-menu placement and automatic viewport updates. Preserve top-end alignment and defer automatic focus until placement is ready. Guard asynchronous results across updates and menu teardown.

* fix(client): preserve menu blur under pinned group titles

Keep the current provider title outside the native scroll viewport so
model rows cannot bleed through during fast scrolling. Preserve the
enclosing menu fill and backdrop filter, and update both model pickers,
lifecycle tests and ARIA goldens.

Validation: doc-sync, full build, final type checks, focused lint and
all 12 model-picker browser checks pass. The full unit run has 42,597
passing tests and four failures in unchanged gateway, third-party-
notices and Inspector tests. The Inspector case passes in isolation.

* fix(client): stabilize floating panels during browser zoom

* fix(client): keep portal menus aligned during Safari zoom

* fix(client): commit floating menu positions before paint

* fix(client): unify floating panel positioning

* fix(client): validate grouped menu headings

* fix(client): hide inactive pinned menu headings

* test(client): await floating menu layout across consumers

* test(ui-chat): await folded reply menu positioning

* test(client): align current consumers with asynchronous panel layout

* fix(client): prevent mobile model search focus zoom

* refactor(client): inject mobile device state from layout

* fix(client): keep anchored panel layout synchronous

* fix(client): address panel review coverage and documentation

* fix(client): keep viewport changes focused on iOS zoom

* fix(client): cover anchored panel lifecycle and scrollbar colors

* fix(client): preserve zoomed model menu scrolling and alignment

* fix(client): hide empty model menus and stabilize viewport pan tests

* test(web): use native wheel input for zoomed viewport panning

* fix(client): keep automation pickers scrollable when zoomed

* fix(client): allow horizontal gestures across clock columns

* fix(client): ellipsize overflowing floating-panel labels

* test(web): make clock overflow fixture independent of system fonts

---------

Co-authored-by: Zrs000 <[email protected]>
2026-10-30 11:33:46 +08:00
imccyu ce7073d512 Merge pull request #7552 from deepseek-harness/fix/webworker-live-import-bindings
fix(webworker): read named and default imports at each reference
2026-10-30 00:13:15 +08:00
imccyu 6397b4e59c Merge pull request #7556 from deepseek-harness/fix/mobile-sidebar-title
fix(web): 稳定手机端右侧栏切换时的会话标题布局
2026-10-29 23:54:15 +08:00
imccyu c536530456 Merge pull request #7578 from deepseek-harness/worktree/sync-dsh-0.2.1-rc.5-to-master
release(dsh): sync 0.2.1-rc.5 back to master
2026-10-29 23:41:20 +08:00
Yichen Jiang babf1f6612 Merge master into worktree/sync-dsh-0.2.1-rc.5-to-master 2026-10-29 21:14:24 +08:00
Yichen Jiang b830ec950f Merge pull request #7572 from deepseek-harness/worktree/release-dsh-0.2.1-rc.5
release(dsh): 0.2.1-rc.5
dsh-v0.2.1-rc.5
2026-10-29 21:01:28 +08:00
Yichen Jiang 31cfe2aafe release(dsh): 0.2.1-rc.5 2026-10-29 20:42:48 +08:00
EricMoin 820336fa4d fix(ui): reuse mobile device detection for sidebar opener 2026-10-29 19:19:56 +08:00
Jiawei Song 92e8a6f604 Merge pull request #6747 from deepseek-harness/feat/apply-patch
feat(fs): add apply_patch multi-file editing tool
2026-10-29 19:19:12 +08:00
EricMoin b74851c0a6 test(ui): provide frame width in sidebar consumer fixtures 2026-10-29 19:06:36 +08:00
Ziya c36b7ef620 Merge pull request #7545 from deepseek-harness/docs/automation-event-trigger-rfc
docs(automation): propose event-triggered automation tasks
2026-10-29 04:04:29 -07:00
_Kerman 50157d0586 Merge pull request #7069 from deepseek-harness/xtr/trajectory-code-highlight
fix(trajectory): restore recorded run_code syntax highlighting
2026-10-29 18:58:26 +08:00
ZiyaZhang 6d8c7c8104 docs(automation): deliver candidates and drop the end tool 2026-10-29 03:52:17 -07:00
sjw1231 5e1f146eba Merge branch 'master' into feat/apply-patch
Regenerates the client slot, Cordis API, tool, and config catalogs on the
merged tree and re-records the tool-catalog pairing.
2026-10-29 18:49:24 +08:00
_Kerman 426c231f73 Merge pull request #7399 from deepseek-harness/xtr/trajectory-failure-output
fix(trajectory): 保留失败工具的实际文本输出
2026-10-29 18:45:30 +08:00
ZiyaZhang 1209f095e4 docs(automation): specify event-turn tools, notify cards, unread marks, and storage 2026-10-29 03:39:07 -07:00
_Kerman 154263c2f1 Merge latest master into xtr/trajectory-code-highlight 2026-10-29 18:37:06 +08:00
sjw1231 ea4837abb1 feat(fs): keep apply_patch opt-in and the observation policy mounted
This pull request lands the tool; switching the shipped defaults is a
separate pull request stacked on it. Every shipped `tool-fs` row states
`applyPatch: false`, the `fs-observation-policy` row stays mounted, the
write, edit, and apply_patch guidance names the policy, and every recorded
expectation outside the apply-patch scenarios returns to the master
baseline. The upgrade guide, the parity exception, and the optional
classification of the policy package move to the stacked change.
2026-10-29 18:36:31 +08:00
EricMoin d04f1d3165 fix(ui): share frame width for sidebar presentation 2026-10-29 18:31:19 +08:00
sjw1231 fe81bef43e test(web): count apply_patch in the collapse-timing tool-update goldens 2026-10-29 18:30:02 +08:00
_Kerman bcaa348038 Merge pull request #7490 from deepseek-harness/xtr/trajectory-subcall-folding
feat(trajectory): add independent subcall folding
2026-10-29 18:29:58 +08:00
ZiyaandMagolor 341ea6eea4 feat(schedule): integrate standalone tasks with the existing WebUI (#6189)
* feat(schedule): manage Host tasks with typed timing and delivery targets

* fix(schedule): align task creation button halves

* refactor(schedule): remove obsolete Session reminder runtime

* refactor(schedule): simplify task UI and preserve keyboard navigation

* fix(schedule): address task delivery and interface review findings

* test(schedule): normalize bundle module paths on Windows

* fix(schedule): cover reserved targets and trim unrelated changes

* refactor(schedule): minimize task management changes after rebase

* test(schedule): align rebased fixtures and documentation records

* test(schedule): refresh SDK scenarios added on master

---------

Co-authored-by: Magolor <[email protected]>
2026-10-29 18:11:48 +08:00
Turtle fdd9f9f6d8 Merge pull request #7527 from deepseek-harness/turtle/load-earlier-broken-ca4d9cb21ffc
fix(ui-chat): keep Load earlier working when a prepended page hides the system prompt
2026-10-29 17:55:00 +08:00
ZiyaZhang b0c374d550 docs(automation): judge event tasks in their own Session 2026-10-29 02:53:22 -07:00
EricMoin 4436420f47 fix(web): stabilize mobile sidebar header layout 2026-10-29 17:50:32 +08:00
sjw1231 d8243a3f52 feat(base): enable apply_patch on the dsh-base tool-fs row
The SDK/Desktop parity check requires the `standard` tool sets to match, so
the base row enables apply_patch like the Web standard preset; the SDK PTC
overlay keeps that row while the Desktop PTC preset lists its own, which the
parity exceptions now record. fs-observation-policy, no longer mounted by
default, is classified as an optional product package.

Every headless, SDK, and ACP recording follows: sidecars and recorded headers
gain the apply_patch schema, the fixed-budget compaction scenarios pin
`applyPatch: false` so their recorded thresholds hold (model-switch-notice and
session-resume own their schema sidecars again), the parent presets that
borrow the default pin mirror the base row, and the pwsh and Python PTC pins
carry the schema and guidance.
2026-10-29 17:34:25 +08:00
sjw1231 e6f54cecbb Merge branch 'master' into feat/apply-patch
Keeps the apply_patch toolview registration with master's file-menu inject,
takes master's shortened slot JSDoc, re-adds the seven filesystem type-equiv
manifest entries, regenerates the event matrix and client catalogs, moves the
fs-observation-policy upgrade guide under v0.2.2-alpha.2 with the matching
fs-patch version, and refreshes the two SDK scenarios master added for the
write and edit guidance change.
2026-10-29 17:00:06 +08:00
ZiyaZhang 3366284d6e docs(automation): propose event-triggered automation tasks 2026-10-29 01:46:26 -07:00
sjw1231 fe5450b152 feat(fs): ship without the observation policy and enable apply_patch in the Web standard preset
Evaluation on the shipped Web composition decided the defaults: the
`fs-observation-policy` row in dsh-base ships `disabled: true`, so write,
edit, and apply_patch mutate unconditionally in every profile; the Web
`standard` preset lists apply_patch; and the tool-fs `applyPatchGuard` switch
is gone, apply_patch always consulting the fs/* intent waterfalls like the
other mutating tools.

The write and edit guidance stops citing the policy as the default, and the
apply_patch guidance asks for enough hunk context instead of a prior read.
The two recordings that capture a policy refusal (fs-policy-reject and
apply-patch-rejected) re-enable the row through a per-scenario
runtime.cordis.yml; every other sidecar follows the prompt change, and the
Web standard-preset recordings gain the apply_patch schema. An upgrade guide
records the default change.
2026-10-29 16:38:42 +08:00
EricMoin 5444d2220c fix(web): 修复手机端插件发现页工具栏溢出 (#7542)
* fix(ui): wrap plugin discovery toolbar

Keep search, label filters, sorting, and refresh reachable on narrow screens.

Refs #6097

* test(plugin-market): cover responsive discovery toolbar

* test(plugin-market): clarify fixture cleanup callback
2026-10-29 16:31:42 +08:00
TurtleandMagolor b45eee4fca docs(ui-chat): describe the hidden prompt node, not a card
Refs #7526

Co-authored-by: Magolor <[email protected]>
2026-10-29 16:13:02 +08:00
Yichen Jiang 548fa6b843 Merge pull request #7531 from deepseek-harness/worktree/hfai-session-request-header
feat(llm): allow plugins to prepare pi-ai request headers
2026-10-29 16:03:19 +08:00
Yichen Jiang d54475a681 fix(llm): preserve header overrides and safe failure diagnostics 2026-10-29 15:52:41 +08:00
Kexin Liu 9e52bf1009 Merge pull request #7518 from deepseek-harness/perf/client-modules-entry-name-index
perf(client-modules): index Loader entries once per flush
2026-10-29 15:49:22 +08:00
Yudong Han 821043d6bf Merge pull request #6759 from deepseek-harness/feat/workspace-tree-per-pane
feat(sidebar): 文件预览旁按分栏保留工作区目录树
2026-10-29 15:45:45 +08:00
liukx0205 8b1e5e7d88 fix(client-modules): contain flush enumeration failures 2026-10-29 15:37:23 +08:00
Kexin Liu 984c0f62b6 Merge pull request #7532 from deepseek-harness/perf/assistant-visibility-cache
perf(web): 缓存 Assistant 块可见性,减少流式组装开销
2026-10-29 15:36:35 +08:00
yudshj 13e8ca59a4 fix(sidebar): 仅在标签已显示时闪烁并减弱光晕 2026-10-29 15:32:17 +08:00
yudshj 4b11531c86 fix(sidebar): 修正柔光反馈、停靠展开和铺满焦点交接并精简树接口
连续揭示同一分栏时保留新一次柔光;精简文件树接口、测试与文档。
2026-10-29 15:32:17 +08:00
yudshj a7d2b5c214 feat(sidebar): 文件菜单支持在侧栏或浮窗中打开并移动已有标签
openResource、openResourceIn 与 tab.actions.openResource 新增可选
destination: 'sidebar' | 'float',以单条布局历史揭示目标宿主中的副本、
把另一宿主中的副本连同 tab id 与 occurrence 移过去,或在该宿主新开。
未传 destination 时落位规则不变。open-in-app 的文件菜单改为传
destination 而非来源 paneId,修复浮窗内文件菜单因浮动 paneId 抛出
openTab requires a docked pane 的问题。
2026-10-29 15:32:17 +08:00
yudshj 2e6370fe1d feat(sidebar): 按分栏保留文件树并由挂载插件处理打开 2026-10-29 15:32:16 +08:00
yudshj c160db284e fix(hygiene): 完整读取仓库的 Git 跟踪文件列表 2026-10-29 15:30:54 +08:00
Yudong Han 568f93e617 Merge pull request #7529 from deepseek-harness/fix/issue7241-preview-scroll
fix(artifact): 刷新后保留文本预览的阅读位置
2026-10-29 15:27:46 +08:00
EricMoin 9b2bc5a783 fix(web): 修复手机端模型目录输入框挤压 (#7512)
* fix(web): prioritize model ids in narrow rows

Keep the model ID in the compact row and expose its display name when expanded. Preserve wide layouts and input focus while resizing.

Fixes #7511

* test(desktop): wait for supervised network recovery

* fix(web): keep folding rows visible through the viewport

* test(web): measure fold movement within the viewport

* test(snapshot): await cancelled job settlement before retry

* fix(web): stabilize model name focus across responsive layouts

* revert: remove unrelated CI fixes from model layout PR

Revert d1c8ef1de1a, 1050ece1980, 6f2f0906341 and 8f7efbca6b0. Preserve the responsive model layout and its review fixes.

* test(web): align DeepSeek Messages model row snapshot
2026-10-29 15:20:12 +08:00
yudshj 004d46fed6 test(artifact): drop new unknown cast in text preview spec 2026-10-29 14:58:10 +08:00
imccyu 4d5945cb72 Merge pull request #7523 from deepseek-harness/07akioni/show-devtools-menu
fix(desktop): 在应用菜单显示 DevTools 开关
2026-10-29 14:51:22 +08:00
liukx0205 4955eaa680 perf(web): cache Assistant block visibility during streaming 2026-10-29 14:49:31 +08:00
Yichen Jiang a05a0d02fa feat(llm): allow plugins to prepare pi-ai request headers 2026-10-29 14:42:09 +08:00
TurtleandMagolor ab627b91ce fix(ui-chat): rebuild the hidden prompt card through chatNode
Refs #7526

Co-authored-by: Magolor <[email protected]>
2026-10-29 14:42:05 +08:00