Commit Graph
5002 Commits
Author SHA1 Message Date
ZiyaZhang d8e3efa860 test(cli): expect Schedule tools in the legacy preset-patch session
#5108 added this case against a master where the shipped Web bundle had no
Schedule rows; #5123 then made Schedule part of the default Web composition.
Every other minimal-preset session in this file already expects bash plus
the four Schedule tools, so this one does too.
2026-09-24 02:47:26 -07:00
lsdsjy c0f0bcf587 Merge pull request #5108 from deepseek-harness/feat/developer-mode-preset-selection
feat(web): 由开发者模式统一控制新任务模式选择
2026-09-24 17:24:51 +08:00
Chinesezjc 4611e32e64 Merge pull request #5123 from deepseek-harness/feat/automation-phase1
feat(schedule): ship Schedule in the default Web composition
2026-09-24 17:10:53 +08:00
lsdsjy 5577becafe fix(web): clear staged preset when developer tools turn off 2026-09-24 16:49:42 +08:00
Chinesezjc f31e51124b test(cli): pin the shipped Schedule rows by name, not loader id 2026-09-24 16:49:34 +08:00
Kexin Liu 89756afa72 Merge pull request #4691 from deepseek-harness/fix/focus-ring-brand-primary
fix(client): unify blue focus rings and keep silent focus silent
2026-09-24 16:48:12 +08:00
Chinesezjc 015c187e67 test(cli): read the inspect answer through the spill policy
The shipped Web composition now puts four Schedule tools on every live root
Agent, which pushes a full-preset `cordis_inspect_query` answer past the
12,500-token inline budget, so the spill policy retains its head and tail with
a spill path instead of the complete JSON.
2026-09-24 16:41:20 +08:00
Turtleandturtle1999 950910bdf9 fix(ci): preserve Wine build metadata and isolate test fixtures (#5088)
* fix(ci): preserve Wine build metadata and isolate test fixtures

* test(web): reopen shortcut fixture sidebar with its binding

---------

Co-authored-by: turtle1999 <[email protected]>
2026-09-24 16:37:37 +08:00
Chinesezjc 5c768e3c8a fix(schedule): point shared session references at the selected generation
Refreshed owners publish a v4 generation, so every scenario that names
another owner's Session fixture must name that owner's highest generation.
The shipped Web composition also puts the Host Schedule tools on every live
root Agent, so the minimal-preset tool-table assertions include them.
2026-09-24 16:37:05 +08:00
Turtle a3480857dd feat(plugins): offer Auto review and keep Inspector explicitly installed (#4867)
* feat(experimental): ship every experimental capability as an optional bundle

dsh-base mounts the registration-only browser-use and computer-use
services; the Playwright MCP, Chrome DevTools MCP, native and MCP Cua
Driver providers, Auto review, and the Inspector become one-row bundles
listed in OPTIONAL_BUNDLES with an icon and locale display metadata.
verify-default-product-isolation requires both for every optional
bundle. Python PTC and Stagehand stay explicit compositions.

* feat(experimental): keep optional bundles inside the install closure

Drop the Playwright MCP, Chrome DevTools MCP, and native Cua Driver
bundles: each is a runtime dependency of every install and would add
about 85 MB of provider runtimes whether or not enabled. dsh-browser-use
leaves dsh-base with them. The three packages keep their locale display
metadata for component rows.

* feat(experimental): drop the Cua Driver MCP bundle and leave dsh-base untouched

* test(web): refresh Official-group goldens for the four optional bundles

* fix(plugins): use an uninstalled bundle as the install example and pin optional-bundle metadata

The install guide's example is now @deepseek-ai/dsh-subagent-codex,
a published bundle no shipped profile carries, since Auto review is an
installed optional bundle. The optional-bundle spec guards its corpus and
pins each bundle's title, description, and icon in both languages; the
Inspector's Loader test mounts its real bundle patch, its Client names
the reload a hot-enabled page needs, and its description states the
loopback DevTools endpoint's reach.

* test(web): refresh GitHub install recovery placeholder snapshot
2026-09-24 16:33:50 +08:00
imccyu 3eadc9b56c Merge pull request #5107 from deepseek-harness/fix/desktop-local-markdown-images
fix(desktop): 修复本地 Markdown 图片预览
2026-09-24 16:27:11 +08:00
turtle1999 da05b8d9c5 test(web): reopen shortcut fixture sidebar with its binding 2026-09-24 16:27:07 +08:00
Chinesezjc e896737840 feat(schedule): ship Schedule in the default Web composition
The Web bundle now mounts `time-context` and `schedule` and leaves the
`ui-schedule` client row enabled, so the Automation tasks page, the Session
reminder catalog, and the `schedule_*` tools work without an overlay. Both
packages join the bundle's declared dependencies, and the example overlay is
deleted: re-inserting its rows would mount both Host plugins twice.

The fixed-rate floor drops from 300 to 60 seconds across the Host decoder,
the create and update validation, the model-visible tool schema, and the
client's per-unit floors.

Web recorded sessions and header sidecars are refreshed for the readings
`time-context` now appends; `normalizeWebSessionVolatiles` tokenizes their
sampled instant, browser zone, and elapsed duration so replay stays stable.
2026-09-24 16:11:52 +08:00
mektpoy 8e42deafa1 fix(client): keep the sidebar toggle's focus ring unclipped
The sidebar toggle is flush with `.logoRow`, which clips its own overflow, so
the standard outward ring lost every pixel that left the row: the reviewer saw
the ring cut on the toggle in both the expanded header and the settled rail.

The 36px rail toggle is also 1px wider than its 35px row, so the control's own
right edge was clipped there. Draw this control's ring inside its own box and
stop clipping the row once the rail has settled; the ring keeps the standard
`--dsw-focus-ring-width` colour and width, and pointer modality still resolves
`--dsw-focus-ring-color` to transparent.

`focus-rings.e2e.ts` asserts the whole ring against every clipping ancestor in
both layouts, in both themes.
2026-09-24 16:02:45 +08:00
liukx0205 9827bcfb37 Merge master into fix/focus-ring-brand-primary 2026-09-24 15:38:51 +08:00
lsdsjy 53e000810d Merge origin/master into feat/developer-mode-preset-selection 2026-09-24 15:33:43 +08:00
ZiyaZhang ef516f98cf fix(plugin-manager): offer another way when a GitHub failure already asked the mirror 2026-09-24 00:29:39 -07:00
imccyu d3314da7c2 test(web): expect unblurred desktop onboarding confirmations 2026-09-24 14:58:55 +08:00
imccyu 59d2e01575 revert(desktop): remove branch-local development launchers 2026-09-24 14:58:55 +08:00
imccyu 6000dcdda5 fix(web): reconcile visual consistency after master rebase 2026-09-24 14:58:55 +08:00
yixiangihsiang 63c7e370ce test(desktop): isolate packaging Git observations from concurrent fixtures 2026-09-24 14:58:55 +08:00
yixiangihsiang df2372fefe fix(web): preserve macOS overlay opacity and desktop launch settings 2026-09-24 14:58:55 +08:00
yixiangihsiang 8b60939220 fix(desktop): confine launcher proxies to runtime preparation 2026-09-24 14:58:54 +08:00
yixiangihsiang fdd14a0989 feat(web): unify UI materials and streamline file review 2026-09-24 14:58:54 +08:00
mektpoy 74a0c834f9 Merge remote-tracking branch 'origin/master' into fix/focus-ring-brand-primary
Only the ui-theme README pairing record conflicted; re-recorded. The stylesheet
corpus spec passes over master's new client sheets, so no ring needed realigning.
2026-09-24 14:49:16 +08:00
winewill fbb3fb770f fix(desktop): cancel pending quit decisions during installer exit 2026-09-24 14:36:02 +08:00
lsdsjy a44534e274 feat(web): 由开发者模式统一控制新任务模式选择 2026-09-24 14:29:18 +08:00
winewill 5637311d5a fix(desktop): confirm the first close with the shared shell dialog 2026-09-24 14:25:02 +08:00
winewill 20dae9b6fa test(desktop): align close behavior fixtures after master rebase 2026-09-24 14:24:39 +08:00
winewill eec2b5fa6e fix(desktop): enlarge whale artwork in Windows tray icon 2026-09-24 14:24:39 +08:00
winewill e6f135f15c fix(desktop): harden quit bypass and background-notice bookkeeping after review
- Only the definitive Windows session-end message bypasses the quit
  confirmation; the macOS power-off flag clears on the next focus or show
  because another application can cancel that shutdown.
- A bypassing quit disposes the pending confirmation so a late inspection
  result opens no box and an answered box cannot approve.
- Cancelling a quit that closing the welcome window started shows the
  welcome window again.
- The first-hide notice records its marker only after delivery and
  withdraws it on failure; the Windows quit dialog uses the multi-size ICO.
- windowShown settles when the awaited window is destroyed.
- Cross-link the partially superseded window-menus note; tidy docs.
2026-09-24 14:24:39 +08:00
winewill 4745934683 feat(desktop): hide the window on close and confirm interruptible quits
Closing the main window hides it on macOS and Windows; the page and the
Host keep running and the next show resumes the same document. Windows
gets a permanent tray icon (open / quit) and a one-time notification the
first time the window is hidden after installation.

Every ordinary quit entry asks the Host over a new quit-inspection IPC
request for active tasks (same rule as the update restart check) and
armed scheduled reminders (schedule family of workspace/session-activity
for loaded sessions). Nothing to interrupt quits silently; otherwise a
native message box explains what stops, with Quit as the default and
Cancel on Esc. Inspection failure or a missed two-second deadline counts
as running tasks. The installer restart, fatal recovery, the development
restart command, and OS session end skip the confirmation.

Also: defer the downloaded-update confirmation while the window is hidden,
render the tray ICO from the vector icon, and point the installer's
running-application message at the tray.

Closes #4013
2026-09-24 14:24:39 +08:00
Kaige-Gao 7f0a53dfb3 fix(desktop): render local Markdown images
Resolve local image paths through the authenticated dsh-app file route and allow that route in rewritten Markdown images. Cover desktop rendering, previews, encoded filenames, and unsupported origins.

Fixes #5105.
2026-09-24 14:10:13 +08:00
yudshj ed4445b028 fix(web): unify document loading and spaced theme-aware pages 2026-09-24 13:57:42 +08:00
Yichen Jiang 55b06e6f81 Merge pull request #5098 from deepseek-harness/worktree/model-api-key-autofill
fix(web): suppress saved-password autofill in API key inputs
2026-09-24 13:55:56 +08:00
winewill 1bc594d701 Merge pull request #5076 from deepseek-harness/feat/windows-update-restart
fix(desktop): clarify Windows updates and raise the restarted window
2026-09-24 13:41:12 +08:00
Yichen Jiang 11c0511271 fix(web): align remaining API key inputs with autofill policy 2026-09-24 12:32:10 +08:00
liukx0205 4f1a1289f5 fix(client): use blue focus rings in light and dark themes 2026-09-24 12:24:47 +08:00
Kexin Liu 450f155955 Merge pull request #4826 from deepseek-harness/feat/unify-code-highlight-languages
统一并扩展代码高亮语言表(read 卡片与侧栏 Code 预览)
2026-09-24 12:10:50 +08:00
liukx0205 e71fa92030 Merge master into fix/focus-ring-brand-primary 2026-09-24 12:05:19 +08:00
liukx0205 bf4d264368 Merge master into feat/unify-code-highlight-languages 2026-09-24 11:58:08 +08:00
2fd748edad feat(desktop): 按请求凭据区分欠费提示及充值入口 (#4858)
* feat(desktop): distinguish account quota alerts from API key notices

* docs: condense architecture introduction within existing budget

(cherry picked from commit 01aacaee4d48fd7f4d00acb5e23758084d3f224e)

* test(desktop): cover quota notice lifecycle and remove unknown casts

(cherry picked from commit 7fd09407c482d1f0e30f24ba0ebf23cd844ac9a1)

* chore(account-quota): align tests, catalogs, and bilingual pairs with the account plugin

* fix(ui-settings-account): pass the Platform retry label to the account top-up overlay

* fix(chat): preserve quota failures and global notices

* fix(account): keep active top-up pages across quota notices

* fix(account): share platform page ownership and release quota holds

* fix(account): defer notices behind the shared Platform page

The single native Platform view covers the document, so a quota failure that arrives while a Settings-opened page shows is deferred rather than retained: the newest failure still replaces an older notice and its Modal appears after the viewer returns if still current. Top up remains the retained case, releasing its hold and page request with the entry.

* test(account): align quota fixture with bonus actions

* fix(account): preserve quota notice and Platform return focus

* fix(account): preserve onboarding return reads and failed notices

* docs(account): clarify page opener return ownership

* test(account): drive bonus acknowledgement retry deterministically

---------

Co-authored-by: liyao <[email protected]>
Co-authored-by: lsdsjy <[email protected]>
2026-09-24 11:50:11 +08:00
winewill 037bed1f41 fix(desktop): reject running app before installer extraction 2026-09-24 11:49:01 +08:00
lsdsjy 5be03410cd Merge pull request #4990 from deepseek-harness/fix/platform-webview-persistence
fix(desktop): persist account-scoped Platform page preferences
2026-09-24 11:21:21 +08:00
lsdsjy dd0578fadd Merge origin/master into fix/platform-webview-persistence 2026-09-24 11:05:40 +08:00
Turtle 2099andTurtle 16af6fddc7 fix(plugins): name the default install source by the registry it names (#5084)
* fix(plugins): name the default install source by the registry it names

The add-plugin dialog showed "默认安装源" for pnpm's own registry, which
told the reader nothing about where the install would download from. Name
npm's own registry as the official npm registry, and any other registry
pnpm's own configuration names by that registry's name or host, so the
folded control reads by the registry the install actually asks.

* test(plugins): cover comparing an unparseable registry address

---------

Co-authored-by: Turtle <[email protected]>
2026-09-24 10:55:35 +08:00
_Kerman 26dcd5a247 Merge remote-tracking branch 'origin/master' into fix/language-neutral-default-workspace-naming
# Conflicts:
#	.agents/notes/implemented/feature/2026-09-20-default-workspace.i18n.yaml
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	docs/subsystems/workspace.i18n.yaml
#	packages/api/workspace-controller/README.i18n.yaml
#	packages/client/ui-workspace/README.i18n.yaml
#	packages/client/ui-workspace/tests/workspaces-service.client.spec.ts
#	packages/workspace/workspace/README.i18n.yaml
2026-09-24 10:30:24 +08:00
winewill a67119845d fix(desktop): align update fixtures and clear deferred startup focus 2026-09-24 01:18:52 +08:00
winewill a7e745de66 Merge master into feat/windows-update-restart 2026-09-24 01:11:36 +08:00
winewill 3bcf1bfc7c Merge pull request #4967 from deepseek-harness/fix/desktop-main-bundle-order
build(desktop): bundle the main process after the workspace tsdown pass
2026-09-24 00:44:55 +08:00