Commit Graph
22838 Commits
Author SHA1 Message Date
EricMoin 63b3d2ce4d test(web): remove native icon test decoding 2026-10-20 12:01:49 +08:00
EricMoin 5a31bcc3e0 feat(web): ship launcher-ready install icons
A launcher masks the icon it puts on the home screen, and the install manifest
advertised the bare whale favicon: an SVG mark drawn edge to edge on a
transparent canvas, with no tile and no background of its own. Handed to a
mask it loses its fins, and iOS reads no manifest icon at all, so an installed
Web App showed a generic tile.

Ship four rasters rendered from the desktop application tile: 192px and 512px
`any`, a 512px `maskable` whose artwork is scaled into the circle a platform
mask is guaranteed to show, and a 180px `apple-touch-icon`. Request
`display: standalone` so the phone keeps its status bar, and declare `png` in
the static MIME table so a launcher receives an image.

Agent Note: .agents/notes/implemented/feature/2026-10-13-web-install-icons-and-launch-display.md
2026-10-20 11:58:08 +08:00
Yichen Jiang f5f60ac47a Merge pull request #6418 from deepseek-harness/worktree/session-agent-controller-refactor-ff892d
feat(agent): admit Web prompts through the agent controller
2026-10-20 11:43:45 +08:00
imccyu 07a4a1713a Merge pull request #6618 from deepseek-harness/worktree-pluginassets
feat(client): serve plugin package assets by URL instead of data URLs
2026-10-20 10:51:26 +08:00
Yichen Jiang 32f4993cd6 Merge pull request #6628 from deepseek-harness/worktree/session-item-trailing-slot
feat(web): add trailing icon slots to session rows
2026-10-20 10:46:10 +08:00
Yichen Jiang 43d6585375 refactor(agent-controller): recognize admission refusals by code
AgentAdmissionRejected now extends HarnessError with the fixed code
AGENT_ADMISSION_REJECTED. The Session Remote recognizes a refusal by that
code and imports only agent-controller types, so its mapping also holds for
an error from another copy of the module; its literals are typed by the
agent-controller constants, so a changed value fails the build.
2026-10-20 10:40:31 +08:00
imccyu c23b1632dc Merge pull request #6638 from deepseek-harness/worktree-sendjump
fix(chat): keep the scroll and status steady when folding an opened group
2026-10-20 10:32:35 +08:00
Yichen Jiang 83ec1b3658 fix(web): preserve session row details across pointer and touch input 2026-10-20 10:29:22 +08:00
imccyu dedf96f7d1 docs(client): settle the package asset resolver wording 2026-10-20 05:17:58 +08:00
imccyu 1823c6bd0e test(client): build an asset import end to end and keep the resolver call name stable 2026-10-20 04:55:29 +08:00
imccyu d7191fafb6 fix(client): keep plugin strings out of the asset resolver rewrite 2026-10-20 04:32:14 +08:00
imccyu 4fb0054448 fix(client): rewrite image-set urls and keep the route fixture valid on Windows 2026-10-20 04:00:23 +08:00
imccyu 7f3dd4ade0 fix(client): tolerate minified stylesheet placeholders and document the asset reference encoding 2026-10-20 03:40:00 +08:00
imccyu 991b2635ad fix(client): keep package-asset references valid in CSS and pin preview placeholders 2026-10-20 03:07:59 +08:00
imccyu 299741d819 fix(client): address package asset review findings 2026-10-20 02:43:09 +08:00
imccyu 8965a798c6 test(web): assert scroll continuity when folding an opened process group
Refs #6637
2026-10-20 02:35:11 +08:00
imccyu 62338ac27d fix(chat): keep the status slide while fold room takes growth
Fold room takes output growth before any scroll, like the empty space below content that fits, so the tail is pinned only when no room remains.

Refs #6637
2026-10-20 02:28:49 +08:00
imccyu 6c35093a4b fix(chat): finish a held row under a closed ancestor without another fold
A row whose ancestor finished closing sits under hidden="until-found", which keeps its own size but removes it from the flow. Finish such a row instead of driving it in a second batch that scrolls the view for content that occupies no space, and release held reveals when no closing member remains.

Refs #6637
2026-10-20 02:28:31 +08:00
imccyu c1d9f141b9 feat(client): resolve package assets through require.asset so the WebWorker preview can map them 2026-10-20 02:14:33 +08:00
imccyu 43a80da55c Revert "feat(webworker-packer): serve package assets beside the preview page"
This reverts commit 6e28e787d564ee4933f7a560808fb05ed635e776.
2026-10-20 02:14:32 +08:00
imccyu 18065b8178 fix(client): follow master's plugin detail previews after rebase 2026-10-20 02:14:32 +08:00
imccyu 508567de89 feat(webworker-packer): serve package assets beside the preview page 2026-10-20 02:14:31 +08:00
imccyu 1ab28c1cb6 fix(client): keep watch-built assets, end cancelled asset streams quietly, and stat before reading bundles 2026-10-20 02:14:31 +08:00
imccyu 44dbf788fa docs: record the client plugin package asset decision and resync Chinese pairs 2026-10-20 02:14:25 +08:00
imccyu 0ecc1dec41 fix(client-modules): reread package manifests when Loader entries restart 2026-10-20 02:13:37 +08:00
imccyu ce84953e46 feat(client): serve plugin package assets by URL instead of data URLs 2026-10-20 02:13:37 +08:00
imccyu cd2d7dea0c docs(notes): serve client plugin package assets through the plugins route 2026-10-20 02:13:36 +08:00
imccyu d07ee15204 Merge pull request #6625 from deepseek-harness/xtr/session-projection-runtime-compat
fix(session-projection): 保留旧插件的运行时兼容调用
2026-10-20 01:47:15 +08:00
imccyu 806ee572b2 test(session-projection): type the async generator legacy yield 2026-10-20 01:28:06 +08:00
fz b88a1c2d14 Merge pull request #6351 from deepseek-harness/fix/sdk-desktop-alignment
fix(sdk): 补齐桌面工具、上下文和原生问答
2026-10-20 01:24:13 +08:00
imccyu 499c2e347f docs(session-projection): correct compatibility statements
Describe async generator yields, key-conflict reads, and macrotask timing as implemented, restore the API controller and mods bridge sentence in the upgrade guide, record the rejected plugin-disposal alternative, and pin the async generator behavior with a test.
2026-10-20 01:09:43 +08:00
fz e69e8c398f fix(sdk): advertise question capability during lazy initialization 2026-10-20 01:03:31 +08:00
imccyu 8f348ee760 docs(notes): fold projection compatibility into the registration handles note
Record the deprecated registration and keyed-read compatibility in the retained-reader decision instead of a separate note, and remove the 2026-10-19 compatibility note.
2026-10-20 00:42:33 +08:00
imccyu 33101ad29f fix(session-projection): log unobserved legacy registration rejections
A legacy plugin may store the registration result as a disposer or ignore it,
so a failed registration became an unhandled rejection that ends a dsh process.
The registry now attaches its own handler: once the current turn ends, a
rejection nobody observed through then/catch/finally is logged through the
calling plugin's logger while the plugin stays active, and one whose owner is
no longer loading or active is dropped. Observed rejections are unchanged.
2026-10-20 00:31:55 +08:00
imccyu f415c83579 refactor(session-projection): simplify legacy registration compatibility
- register() returns the registration's effect disposer with then/catch/finally
  attached; the original body moves unchanged into a private acquire(), keeping
  synchronous installation and the asynchronous handle handoff.
- Legacy stateOf(session, key) logs one ctx.logger.warn per key per registry;
  registration and calls to its result no longer warn.
- Containing an ignored legacy registration failure is deferred and recorded
  under Known Limitations.
2026-10-20 00:18:25 +08:00
imccyu 87ca056c0d docs(upgrade): fold registration compatibility into the projection handles guide
Move the session projection handles guide from the released v0.2.1-alpha.3
directory to the current v0.2.1-rc.2 directory and fold in the callable
registration and deprecated keyed-read notes, replacing the separate
session-projection-registration guide.
2026-10-20 00:12:00 +08:00
fz f29deda51f perf(chat): avoid ancestor invalidation in history spacing 2026-10-20 00:09:46 +08:00
Yichen Jiang fdf14b2bc9 docs(web): clarify session row slots and keyboard limits 2026-10-20 00:05:47 +08:00
_Kerman b3b82021d5 fix(session-projection): handle canceled legacy registrations 2026-10-19 23:24:59 +08:00
Turtle c9eb8e9349 Merge pull request #6605 from deepseek-harness/turtle/experimental-plugin-details
refactor(plugin-manager): show built-in feature previews through bundle detail documents
2026-10-19 23:23:16 +08:00
_Kerman 5224454492 fix(session-projection): restore legacy keyed read materialization 2026-10-19 23:15:11 +08:00
fz e7436013d1 fix(inspector): retain bootstrap request until cancellation settles 2026-10-19 23:10:30 +08:00
Yichen Jiang 9dbf907f93 Merge branch 'master' into worktree/session-item-trailing-slot 2026-10-19 23:07:23 +08:00
turtle1999 b1b53672db fix(ui-primitives): separate the detail document with horizontal rules and keep its preview format checked 2026-10-19 23:00:32 +08:00
Yichen Jiang 9153978b36 feat(web): add trailing icon slots to session rows 2026-10-19 22:55:18 +08:00
_Kerman 746c2a4acd fix(session-projection): preserve legacy plugin runtime calls 2026-10-19 22:55:02 +08:00
Yifffan 829c2d3913 Merge pull request #6610 from deepseek-harness/ux/schedule-empty-svg
feat(ui-schedule): 更新自动化任务空状态插画
2026-10-19 22:51:11 +08:00
Turtle 9495663990 Merge pull request #6504 from deepseek-harness/worktree/web-fork-snapshot-order
test: stabilize fork clocks and image-only Office rendering
2026-10-19 22:43:26 +08:00
turtle1999 be10266430 fix(ui-primitives): keep the detail document scrollbar off its text 2026-10-19 22:41:11 +08:00
Yichen Jiang 55d00a08fc Merge remote-tracking branch 'origin/master' into worktree/session-agent-controller-refactor-ff892d
# Conflicts:
#	docs/capability-seams.i18n.yaml
2026-10-19 22:34:29 +08:00