Commit Graph
24016 Commits
Author SHA1 Message Date
Yichen Jiang e4fd8a87ff Merge branch 'worktree/forge-pr-worktree-panel' into worktree/forge-session-list 2026-10-24 22:03:03 +08:00
Yichen Jiang 53d8a336f7 Merge commit 'bf1df01ae99' into worktree/forge-session-list
Brings the Session list branch up to date with the forge panel, whose
held messages now wait at inbox insertion.

- client-ui-forge keeps the Session list's remote-access import and the
  panel's messageOf; the agent-controller import is gone.
- The README and the forge panel Agent Note combine both sides: the
  forgeWorktree projection keeps its client view next to the inbox hold,
  and the Session list paragraphs stay.
- The config catalog is regenerated, and the README, forge subsystem
  page, and Agent Note pairings are recorded again.
2026-10-24 22:02:44 +08:00
Yichen Jiang bec0ac67ba Merge commit '45db0d28ce5' into worktree/forge-pr-worktree-panel 2026-10-24 21:45:54 +08:00
Yichen Jiang 3a52eb1993 Merge commit '861f5200ded' into worktree/forge-pr-worktree-panel
Master replaced the creation and plugin recommendation bundles with one
personalized recommendations bundle.

- The CLI manifest keeps master's bundle and the forge bundle.
- The plugin page expectation ranks the forge bundle before the held-back
  personalized recommendations bundle.
- The experimental README pairing is recorded again.
2026-10-24 21:45:41 +08:00
Yichen Jiang 91bd19ea98 Merge remote-tracking branch 'origin/worktree/composer-host-confirmed-echo' into worktree/forge-change-request-bindings 2026-10-24 21:42:23 +08:00
Yichen Jiang ba94a90da3 Merge commit '66a7e6cf07b' into worktree/forge-change-request-bindings
The experimental README pairing is recorded again for the merged
package rows.
2026-10-24 21:42:17 +08:00
Yichen Jiang b10ba84a0f Merge remote-tracking branch 'origin/master' into worktree/composer-host-confirmed-echo 2026-10-24 21:40:27 +08:00
Yichen Jiang 3764b60205 Merge commit '3dd445fe163' into worktree/composer-host-confirmed-echo
The session-controller README pairing is recorded again for the merged
sections.
2026-10-24 21:39:51 +08:00
imccyu b9266aefd6 Merge pull request #7094 from deepseek-harness/worktree/ci-schedule
ci: cut PR check latency across the slow lanes
2026-10-24 14:58:40 +08:00
Turtle a2a5f832d8 Merge pull request #7137 from deepseek-harness/turtle/skip-option-repeat-a065821c4757
fix(tool-ask-user): tell the model a skipped question is answered
2026-10-24 14:08:58 +08:00
Turtle d3da3b7640 fix(tool-ask-user): share skip guidance with the timed description
Refs #7134
2026-10-24 13:39:08 +08:00
Turtle 94ed636380 fix(tool-ask-user): tell the model a skipped question is answered
The blocking ask_user_question description did not explain that an answer
item with empty selected and no custom is a user skip, so models re-asked
the same question after the user clicked Skip.

Refs #7134
2026-10-24 13:23:53 +08:00
Turtle 2099andTurtle c262a09fd0 fix(ui-primitives): keep backslashes in Windows-path Markdown links- #7098
* fix(ui-primitives): keep backslashes in Windows-path Markdown destinations

CommonMark reads \. in a link destination as an escaped dot, so
[x](D:\repo\.github\a.md) opened D:\repo.github\a.md. Destinations
that look like Windows paths now keep their authored text.

Fixes #7095

* fix(ui-primitives): cover relative paths and character references

Treat a backslash destination without a URL scheme as a Windows path
when it has no slash or a backslash before a letter or digit, keep
every backslash literal there, and still decode character references.
Pin the behavior in the Markdown file-links Web snapshot.

* chore: list micromark-util-decode-string in third-party notices

---------

Co-authored-by: Turtle <[email protected]>
2026-10-23 23:40:50 +08:00
imccyu 92b011e57c Merge pull request #7105 from deepseek-harness/revert-6993-fix/summary-overflow-recovery
Revert "fix(compaction): retry oversized summaries with smaller prefixes"
2026-10-23 23:00:08 +08:00
imccyu 3081c71bab Revert "fix(compaction): retry oversized summaries with smaller prefixes" 2026-10-23 22:59:05 +08:00
CreatixChu 17b13383af fix(plugins): 默认隐藏 CUA 并保留已启用用户的管理入口 (#7068)
* fix(plugins): temporarily hide the CUA bundle

* test(plugins): update expectations for hidden CUA

* fix(cua): preserve management for enabled bundles

* test(cua): cover default-hidden activation and retained details

* test(cua): verify installed state survives disabling

* test(cua): use the native provider display name
2026-10-23 22:54:03 +08:00
1tops e54b1326f8 Merge pull request #6993 from deepseek-harness/fix/summary-overflow-recovery
fix(compaction): retry oversized summaries with smaller prefixes
2026-10-23 21:16:37 +08:00
imccyu 22ddee3792 Merge pull request #7075 from deepseek-harness/worktree-chatgap
feat(chat): tighten the process-row gap to 4px
2026-10-23 19:48:59 +08:00
ZiyaandZiyaZhang 0741cf26a5 fix(plugin): give personalized recommendations its own icon (#7071)
Co-authored-by: ZiyaZhang <[email protected]>
2026-10-23 10:16:43 +00:00
1tops f242b39905 test(build): clarify artifact dependency ordering 2026-10-23 18:13:05 +08:00
Yudong Han 02bffe2f6b Merge pull request #7054 from deepseek-harness/turtle/tab-scroll-animation-3b47b9bdbb50
fix(dockkit): continue the tab strip from its last offset on selection changes
2026-10-23 18:09:55 +08:00
imccyu 83a0433bc7 Merge pull request #7003 from deepseek-harness/session-baseline-split-6998
feat(typert): extract Session baseline cleanup and default resource resolvers
2026-10-23 18:06:28 +08:00
winewill efe44ee17f Merge pull request #6675 from deepseek-harness/perf/desktop-packaging-cache
perf(desktop): speed up signed packaging and align compression defaults
2026-10-23 17:56:11 +08:00
imccyu 048845f841 fix(typert): harden default resource declarations and sync contracts 2026-10-23 17:39:35 +08:00
winewill dba631dda6 docs(windows): preserve network settings when reinstalling runner 2026-10-23 17:38:55 +08:00
winewill a4aab8ec61 docs(desktop): consolidate cache lifecycle guidance 2026-10-23 17:18:48 +08:00
winewill 0c3d6a1368 Merge remote-tracking branch 'origin/master' into perf/desktop-packaging-integration
# Conflicts:
#	.github/workflows/ci-windows.yml
#	apps/desktop/windows-signing/README.i18n.yaml
2026-10-23 17:10:54 +08:00
winewill 4007c4bd67 Merge pull request #7057 from deepseek-harness/fix/windows-runner-network-recovery
fix(desktop): 对齐发布 app ID 并恢复 Windows runner 网络依赖
2026-10-23 17:08:30 +08:00
winewill 46ce2b61e0 Merge remote-tracking branch 'origin/master' into perf/desktop-packaging-integration
# Conflicts:
#	docs/development.i18n.yaml
#	scripts/build.spec.ts
2026-10-23 16:53:18 +08:00
winewill cb60c52cea docs(desktop): clarify shared packaging cache maintenance 2026-10-23 16:48:11 +08:00
1tops 8539e4d99c fix(build): align Host compiler heap with upstream 8 GiB limit 2026-10-23 16:38:14 +08:00
Xu Hanxiang bcbc3d37a5 Merge pull request #6748 from deepseek-harness/feat/liveshare-protocol
feat(liveshare-protocol): add the shared wire frames and identity contract
2026-10-23 16:37:26 +08:00
Yichen Jiang b33271247b Merge pull request #6102 from deepseek-harness/docs/long-table-filter
feat(docs): 为长表增加搜索、清空和固定表头
2026-10-23 16:34:21 +08:00
winewill 9c3e97676e fix(ci): report successful runner network fixture exit 2026-10-23 16:33:05 +08:00
Turtle 0b8eabaf66 fix(dockkit): record the strip offset when the strip unmounts
Reading scrollLeft in the layout cleanup also captures positions that fire no
scroll event, such as a restore the browser clamps to the current offset.

Refs #7049
2026-10-23 16:27:34 +08:00
imccyu 3c4a79cc1b chore(session): remove stray blank lines 2026-10-23 16:22:07 +08:00
imccyu b2b3bf4568 fix(typert): reject ambiguous and multiple default resource identities 2026-10-23 16:13:38 +08:00
mektpoy 09ccbf785f chore(release): carry liveshare-protocol to the rc.3 family version 2026-10-23 16:13:34 +08:00
mektpoy 65c20148c1 fix(liveshare-protocol): align the published files with the single entry
The package publishes only its root entry, so the constraint extras that
named the identity subpath and frame codec no longer describe its files.
2026-10-23 16:13:34 +08:00
mektpoy c682dfaa3b refactor(liveshare-protocol): publish one entry point
The root entry already re-exports the wire codecs, the identity contract, the
viewer carrier, and the viewer-state vocabulary, so `./protocol` and
`./identity` were aliases of subsets that every consumer had to mirror in the
tsconfig path list. Keep `.` alone, keep the mock provider in its source module
for tests, and bundle only the root.
2026-10-23 16:13:34 +08:00
mektpoy c34276ec5a refactor(liveshare-protocol): publish the mock identity provider on its own entry
A package that promises authentication-adjacent types must not hand production
callers a provider that fabricates principals from its public `./identity`
entry. The mock keeps its own `./identity/mock` export, the console face drops
it, and the entrypoint tests pin both halves.
2026-10-23 16:13:34 +08:00
mektpoy 774e618112 fix(liveshare-protocol): forward only the page's own origin
Matching a forwarded route on the pathname alone let any origin whose URL
carried `/api/present.host` or `/open-in-app/apps` reach the owner instead of
the destination it named. Resolve the request against the page base and forward
it only when the target origin is the page's own; every other request reaches
the fetch this carrier replaced.
2026-10-23 16:13:34 +08:00
mektpoy 0a0620abd5 docs(development): count the split compiler faces
The face layout paragraph still counted six split packages. The
liveshare-protocol split added a seventh, and this names which part of the
package stays on each leaf.
2026-10-23 16:13:34 +08:00
mektpoy 3f8f220ccd docs(experimental): align the liveshare ctx-key column
Every other row states the ctx key or an em dash; the protocol row said
'library and protocol — no ctx key' in both languages. It now uses the
same em dash as the other rows without a ctx key.
2026-10-23 16:13:34 +08:00
mektpoy fa579c64d4 docs(liveshare-protocol): point the viewer-state module at the package entry
The @module tag named a viewer-states subpath the package does not export.
The vocabulary is reached through the package root, so the tag now names
that entry.
2026-10-23 16:13:23 +08:00
mektpoy 81c3d89ab1 docs(liveshare-protocol): describe the current consumers and viewer entries
The summary claimed both packages import the package and named only
dsh-brand, while nothing imports it in this tree and cordis is a peer. It
now states the shared definitions and both dependencies without claiming
current importers. When to use it names the package root for the viewer
carrier and viewer-state vocabulary, and the Known Limitations anchor moves
ahead of its heading like the other sections.
2026-10-23 16:13:23 +08:00
mektpoy eab3bd4769 test(liveshare-protocol): round-trip the IPC fixtures with request tokens
The v1 host/worker fixtures carried no registrationToken or token, so a
legacy branch asserted them rejected and the optional-field case skipped
them. They now carry valid tokens and round-trip through their codecs. The
unknown access-mode fixture carries a token too, so its refusal is about
the mode rather than the missing identity. The unread required lists are
deleted; the optional lists now match what the parsers accept.
2026-10-23 16:13:23 +08:00
mektpoy 3a2a59a635 fix(liveshare-protocol): release a stream whose unreadable open reached the owner
A 200 open whose body was not a JSON object threw from readable() before the
abort listener was armed, so the page never sent stream-cancel and the owner
held the id until its own budget expired. The unreadable-open path now
cancels the id before rethrowing; the spec pins the cancel.
2026-10-23 16:13:23 +08:00
mektpoy 59ed57540b refactor(liveshare-protocol): name the offered capabilities in their type
LIVESHARE_CAPABILITIES was a runtime string array, so a peer could neither
check a capability name at compile time nor compare against the same union.
The tuple is now const and LiveshareCapability derives from it; the wire
values are unchanged.
2026-10-23 16:13:23 +08:00
mektpoy a64d6406f5 refactor(liveshare-protocol): decode a relay frame once
parseRelayFrame parsed the wire text for the lifecycle snapshot and again
for the envelope, and unsupportedFrameRefusal repeated both parses. One
JSON.parse now feeds the snapshot check, the envelope, and the refusal
branch, so the hot path decodes each frame exactly once.
2026-10-23 16:13:23 +08:00