Commit Graph
22376 Commits
Author SHA1 Message Date
winewill 48c0dfc98b docs(desktop): clarify diagnostic test package instructions 2026-10-20 18:09:39 +08:00
winewill 9738e49720 fix(desktop): preserve partial-write history and isolate journals 2026-10-20 15:56:15 +08:00
winewill e9e7722d53 fix(desktop): preserve safe operation diagnostics across failures 2026-10-20 15:09:37 +08:00
winewill 4478a868ae fix(plugin-manager): retain refused install identity in diagnostics 2026-10-20 14:16:48 +08:00
winewill b7732a8870 test(desktop): accept applied bundle changes in restart fixture 2026-10-20 13:09:09 +08:00
winewill 4825f92a02 fix(desktop): include diagnostic worker in packaged archive 2026-10-20 12:52:14 +08:00
winewill 957d2c1285 test(desktop): prepare reproducible diagnostic fault bundles 2026-10-19 18:17:47 +08:00
winewill 2163dec985 test(desktop): update disconnect fixture for startup diagnostics 2026-10-19 18:11:37 +08:00
winewill d136ac9f6f fix(diagnostics): retain observed plugin versions for recovery 2026-10-19 17:54:46 +08:00
winewill 0596c66fbe fix(desktop): correlate Host failures with operation run identities 2026-10-19 17:47:54 +08:00
winewill 5d846caecb test(desktop): preserve plugin and runtime failure evidence 2026-10-19 17:41:31 +08:00
winewill dfbe5d8da3 feat(desktop): retain bounded plugin operation diagnostics 2026-10-19 17:35:18 +08:00
winewill 911d9a5746 fix(desktop): preserve shell locale during loading page startup 2026-10-16 18:02:22 +08:00
winewill c1be1579aa fix(desktop): retain confirmed locale for startup recovery 2026-10-16 16:57:43 +08:00
winewill c6d01dcac0 feat(desktop): enrich startup crash diagnostics and reveal reports
Refs #4540. Capture startup state before disposal and make crash reports retrievable from native recovery.
2026-10-16 15:49:24 +08:00
Shigma 1a33461f2b Merge pull request #6182 from deepseek-harness/docs/cordis-rc11-plan
docs(cordis): Cordis rc.11 vendor upgrade plan
2026-10-16 14:23:05 +08:00
imccyu 085f3c6a58 Merge pull request #6339 from deepseek-harness/ci/master-baseline-canary-1016
test(web): keep page timers running under the pinned fixture day
2026-10-16 12:41:53 +08:00
imccyu 4cea5c36d2 test(web): sweep the Host clock distance in the pinned-clock regression
The page clock failure depended on the real-to-fixture distance modulo
2^32 ms, so a regression run on today's date alone passes against the old
fixture for half of every period. The test now shifts the Host clock across
eight phases of that period; the page.clock fixture fails every phase,
either with stopped page timers or with a Date that does not advance.
2026-10-16 12:23:10 +08:00
imccyu 81803f7ca5 test(web): keep page timers running under the pinned fixture day
pinHostClock replaces Date.now in the Vitest worker, where Playwright's
server also runs. page.clock.setFixedTime therefore recorded the fixture
day, and after a navigation the page clock replayed the gap to the real
day. The resulting negative timer delay was truncated to a 32-bit integer
and, from 2026-10-15T13:45:20Z, became a delay of weeks that stopped every
page timer, failing the steering and seeded-history suites.

pinBrowserClock now replaces only the page's Date so it reads the fixture
day while native timers and animation frames keep their real schedule; a
regression test navigates twice with both clocks pinned.
2026-10-16 12:07:47 +08:00
winewill 3f621c65c3 Merge pull request #6281 from deepseek-harness/feat/windows-runner-supervision
feat(desktop): supervise Windows runner and reject debug publications early
2026-10-16 10:47:39 +08:00
Yichen Jiang e412760f94 Merge pull request #6275 from deepseek-harness/fix/skill-menu-plugin-change
fix(ui-skill): 开关插件后刷新 `/` 菜单的 skill 列表
2026-10-16 10:38:32 +08:00
Yichen Jiang 2d7f15a644 Merge pull request #6304 from deepseek-harness/worktree/terminal-session-list
fix(web): share terminal discovery per session
2026-10-15 22:42:21 +08:00
Yichen Jiang 86a402200d Merge pull request #6301 from deepseek-harness/worktree/release-dsh-0.2.1-alpha.4
release: [email protected]
dsh-v0.2.1-alpha.4
2026-10-15 20:22:44 +08:00
gengruilin ba392ae0e7 docs(ui-skill): record the catalog gaps a plugin change leaves
State why every plugin manager operation drops every cached catalog, and
list two remaining gaps among the known limitations: on-disk SKILL.md
changes forward no event to an open session, and draft skill highlighting
waits for the next catalog fetch after an invalidation.
2026-10-15 20:17:59 +08:00
Tianyi Cui 7f338ce3be Merge pull request #6272 from deepseek-harness/fix/codex-partial-answer-phase
fix(subagent-codex): accept the partial_answer agent message phase
2026-10-15 20:13:11 +08:00
Yichen Jiang 0ae278b935 fix(web): share terminal discovery per session 2026-10-15 20:12:52 +08:00
imccyu f2235d6c02 release(dsh): 0.2.1-alpha.4 2026-10-15 20:00:58 +08:00
winewill b8f8abc5d6 fix(desktop): publish to administratively unversioned COS buckets 2026-10-15 18:19:27 +08:00
winewill af66022ace fix(desktop): default Windows packaging to signed 2026-10-15 17:52:13 +08:00
winewill 5e23825f15 fix(desktop): reject debug publications early and harden runner supervision 2026-10-15 17:40:38 +08:00
winewill cfa52b0bac feat(infra): supervise Windows packaging runner with Task Scheduler 2026-10-15 17:19:42 +08:00
ZiyaZhang e480bda8d2 fix(subagent-codex): call the payload the selected answer, not the final one
Address the ds-review-bot round on #6272: the README summary, completion
notice, token effect, and Known Limitations lines no longer call the
payload the final answer; the empty-result error reads "without an
answer"; the ordering spec also interleaves commentary; the partial_answer
branch cites its upstream source.
2026-10-15 01:44:26 -07:00
Yudong Han e44061c934 Merge pull request #6264 from deepseek-harness/fix/tool-exit-badge
fix(ui-tool): show command exits in neutral inline capsules
2026-10-15 16:41:15 +08:00
gengruilin 6910cd6e9c fix(ui-skill): refresh the slash menu after plugin manager changes
The browser skill source cached each Session's catalog until a preset
switch or connection reset, so an open Session kept listing the skills of
a plugin switched off on the Plugins page and missed those of a plugin
switched on. Clear every cached catalog on the forwarded
plugin-manager/changed event, which the Host emits after the operation's
reload.

Fixes #6268
2026-10-15 16:36:30 +08:00
yudshj 39d3849452 refactor(ui-tool): separate Host exit parsing fix 2026-10-15 16:23:48 +08:00
Yichen Jiang 0a11184ac3 Merge pull request #6261 from deepseek-harness/worktree/model-reasoning-level-config-2a9bbb
feat(models): edit reasoning levels of custom model API models
2026-10-15 16:21:44 +08:00
yudshj 174c08563f test(snapshot): refresh nullable terminal exit descriptor 2026-10-15 16:08:44 +08:00
yudshj e8488f6b41 fix(shell): preserve missing exit codes in terminal presentation 2026-10-15 15:57:11 +08:00
Yichen Jiang a31a992113 Merge pull request #6267 from deepseek-harness/worktree/sad-jemison-fa352d
test(goal): disarm the seeded goal in the Loader e2e
2026-10-15 15:53:26 +08:00
Yichen Jiang 7d654c9d8a fix(models): drop the reasoning switched-off hint 2026-10-15 15:53:08 +08:00
yudshj 95e76236bf refactor(ui-tool): isolate exit badge and cover long descriptions 2026-10-15 15:46:03 +08:00
Yichen Jiang b542292bf9 fix(models): read reasoning levels from the pi-ai schema
The reasoning-level editor hardcoded pi-ai's seven levels, so a level a
pi-ai upgrade adds would be missing from the page and a stored key outside
the list would be dropped by the next edit. The levels now come from the
llm-pi-ai namespace schema, the key union of reasoningEfforts, read the
way protocolChoices reads the protocols, and travel explicitly from the
Models section and the provider editor through the model list to each row.
A stored key the schema does not list keeps its row and stays selectable.
The reasoning control now appears wherever that list is non-empty instead
of being inferred from a missing catalog provider.
2026-10-15 15:31:54 +08:00
yudshj 97a833471f fix(ui-tool): reserve inline space for exit capsules 2026-10-15 15:02:29 +08:00
Yichen Jiang 63e99ee2bf test(goal): disarm the seeded goal in the Loader e2e
The goal domain e2e runs over the shipped headless profile, whose base
bundle mounts goal-round-driver. GoalService.create() arms the goal the
fixture seeds, so the driver queued round 1 when the task turn went idle
and the test's headless driver disposed the context mid-round. The
assertions held only while the aborted round's turn/end missed the log
before disposal; an extra await in the agent loop's pre-step path (#6024)
let it land and the test failed deterministically.

Disarm the goal right after creating it. Activation is process-local, so
the persisted goal/change snapshot is unchanged and the driver starts no
round. Also assert a single turn/start, which records a started round
even when disposal aborts it before its turn/end is persisted.
2026-10-15 14:56:55 +08:00
Yichen Jiang a0a04158f8 fix(models): keep reasoning edits with their model and mirror pi-ai refusals
The reasoning-level editor kept the levels it switched off, its row order,
and typed text in component state, while the model list keys rows by
position, so deleting a row handed that state to the next model: turning
the survivor's switch on wrote the deleted model's levels into it. The
editor now renders only from the model; rows follow the stored order,
switching on always starts from the defaults, and only the focused field
keeps its typed text until the field is left.

The reasoning check moves out of the shared model validator into the two
cards whose rows edit it, so DeepSeek and catalog routes are untouched,
and it now mirrors every pi-ai refusal: a valueless field, a missing value
on a level besides off, and an empty value. A refused value marks its
field, and leaving that field repairs it with the level name.

The Providers guide now points custom model API users to the page before
the YAML, and both package READMEs describe the new behavior.
2026-10-15 14:53:56 +08:00
winewill fa13ef7a66 Merge pull request #6227 from deepseek-harness/fix/windows-installer-file-locks
fix(desktop): retry Windows installer directory locks and report failures
2026-10-15 14:37:39 +08:00
winewill 58c8cef7dc Merge pull request #6262 from deepseek-harness/build/desktop-test-branches
feat(desktop): 支持 test 分支打包并中文化 Actions 表单
2026-10-15 14:22:24 +08:00
yudshj 00f897b048 fix(ui-tool): show command exits in neutral inline capsules 2026-10-15 14:20:22 +08:00
ZiyaZhang 08d57291ad fix(subagent-codex): accept the partial_answer agent message phase
Codex app-server 0.162 adds `partial_answer` to the agentMessage phases
(stable answer text that later assistant output or tool calls may follow).
The wire treated every phase other than final_answer, commentary, and null
as fatal, so one such message failed the whole delegation. Record the
latest partial answer and select final, then partial, then unphased text;
unknown phases still fail the run. The pinned @openai/codex 0.153.4 payload
never emits the phase, so behavior with the shipped binary is unchanged.
2026-10-14 23:10:35 -07:00
winewill 29221675a2 fix(desktop): clarify source rejection and isolate Git fixtures 2026-10-15 14:03:50 +08:00