Commit Graph
122 Commits
Author SHA1 Message Date
Turtle 654caa4bbd feat(bundle): accept an ordered patch file list in dsh.bundle.patch (#4722)
* feat(bundle): accept an ordered patch file list in dsh.bundle.patch

`dsh.bundle.patch` now accepts `string | string[]`. A list names patch
files applied in order as one bundle layer; each file's relative plugin
paths still resolve beside that file. `bundlePatchPaths` in dsh-app-boot
is the one resolver from a declaration to absolute paths, and every
reader uses it: profile loading, plugin-manager reconcile and bundle
rows, the client-runtime roster, and the workspace, cordis-config, and
product-isolation gates. `ProfileLayer.patchPath` becomes `patchPaths`.

* fix(bundle): keep declared patch files package-relative in the workspace gate

path.join produced backslash entries on Windows, so the expected files
list did not match package.json files. bundlePatchFiles returns the
validated declaration as written; bundlePatchPaths joins it.
2026-09-20 18:20:24 +08:00
Turtle 2099andTurtle 3eab1714bc feat(web): add chat link opening preference (#4671)
* feat(web): add chat link opening preference

* docs(web): clarify preference-controlled link routing

* fix(web): hide link preference without a browser

* fix(web): make the built-in browser opt-in

* test(web): honor profile-aware browser availability

---------

Co-authored-by: Turtle <[email protected]>
2026-09-20 17:00:03 +08:00
Tianyi Cui 580bdc7258 refactor: remove redundant unknown casts 2026-09-19 20:13:58 +08:00
Tianyi Cui 1613a10c03 merge: integrate pinned master into session-log-v4
Merge master 7e2b049d8e2523127a3b4fba38cab4748ef0c72f, observed on
2026-09-19 at 07:38:37 UTC, into release/session-log-v4 at
c4663e8671e33bc2cfdbc868b0b18d979508d39b. Keep this base integration
separate from the five persistence repair PRs so their review diffs
remain focused and can be rebased without moving their fixes here.

Combine master's pin ordering and archived-session filter with V4's
parent-owned direct child catalog. Both grouped and flat sidebar rows
must pass the Session list to the V4 activity calculation; restoring
master's summary-lineage traversal would reintroduce the removed
subagent ownership and count unrelated descendants.

Keep master's removal of the archived-session settings page. Its only
release-side test change renamed a Session list fixture field, so no
runtime behavior is lost by deleting that obsolete test. Adapt the
release-side direct-child-status regression to the new row/filter
arguments and preserve its assertions.

Retain master's workspace ordering and row-motion documentation while
keeping the V4 child-catalog wording. Reconcile the generated bilingual
records against the merged documents. Frozen V0-V3 codecs, recorded
Session JSONL inputs, and the current V4 persistence schema are unchanged.

Refs #2692, #3273
2026-09-19 15:42:11 +08:00
imccyu 7baccf5d85 fix(workspace): unify pin IDs and preserve complete session order 2026-09-19 12:54:13 +08:00
Yif 33d496951c feat(workspace): session pinning and the sidebar archived filter
Pin sessions to the top of the sidebar and reach archived sessions
through the view-options filter instead of a settings page; archiving
gains an undo/filter toast, and row motion stays reserved for pin jumps
and archive fades.
2026-09-19 12:04:07 +08:00
Tianyi Cui 498d0e8ecd merge: refresh session-log-v4 from pinned master
Merge master 0e9385ad8b9e75146f4baec2e731dd961f11c87c, observed when
this final integration step started, into the merged V4 release branch.
Keep the complete upstream history and do not advance to later master
commits during finalization.

Bring the Web trust-domain and relative-route handling, plugin install
cancellation, and npm registry mirror configuration into the common
release baseline. Retain the V4 codecs, producer-source policy,
parent-owned catalogs, and fork/migration behavior from the merged stack.

The merge needs no manual conflict resolution and changes no Session
JSONL inputs, snapshot generations, format packages, or persistence
schema/history files. This checkpoint precedes the separate V4 freeze
and audit fixes so each change keeps its own rationale and validation.
2026-09-18 22:35:14 +08:00
mektpoy 2c6f634771 Merge branch 'master' into yyc/web-trust-domain-reviewed
# Conflicts:
#	tsconfig.host.json
2026-09-18 18:31:17 +08:00
Tianyi Cui 8306ddaa14 merge: refresh session-log-v4 base from master
Merge master 0fdadce5189dcf13a00c2ed8293be95b9bb29c2c into the reviewed
Session V4 integration base. Preserve its V4 persistence and direct-catalog
subagent navigation while carrying forward current UI controls, decorative
icons, Desktop signing/runtime changes, and upstream tests.

Resolve lineage conflicts by retaining interaction-time catalog authority,
known-leaf handling and row order together with the shared status icons.
Keep both Desktop shell-routing regressions and one production route; master
now includes the route repair previously carried by this integration branch.

The full build, 41 documentation gates, two Desktop shell tests and 34 focused
Client lineage tests pass. Further built Web and packaging checks precede
publication. Preserve this pinned merge checkpoint before taking a newer
master tip, and propagate it through the reorganized feature stack.
2026-09-18 13:11:25 +08:00
zhc fb2be52104 fix(client): compact conversation headers without view tabs 2026-09-18 11:03:07 +08:00
zhc 4429a672b7 refactor(client): keep developer preference in settings scope 2026-09-18 11:03:06 +08:00
zhc caaaf89b1e fix(client): separate developer tool policy and harden static previews 2026-09-18 11:03:06 +08:00
Tianyi Cui d66b21894c merge: integrate latest master into session-log-v4
Merge master 62b700bba7bb71e66d2d5a3b850ba8f4dd0fd6b4 into release/session-log-v4 at 4825bc01a999f564e79172a6af28e34fc757c540. Preserve this pinned integration checkpoint before any later upstream movement so the dependent session-format repairs have an immutable rebase base.

Keep release projection-backed child catalogs, independent Session references, exact fork behavior, V4 writer, and existing migration data. Adapt the incoming subagent sidebar chat to refreshProjections rather than the removed dedicated catalog API, preserve title projections in complete projection fixtures, and retain both sidebar actions and release lineage/status behavior. Remove the duplicate SessionProjectionMap import introduced by automatic merging.

Preserve both disjoint archive seals without changing any existing hash. Regenerate current Cordis and documentation catalogs from the combined source, retaining release session methods plus master slot factories. The frozen V0-V3 runtime paths are unchanged. Initial validation passed the full build, 93 focused Client tests, and all 1905 archived artifact seals; remaining integration and snapshot checks follow on this checkpoint.
2026-09-17 23:23:48 +08:00
creatixchu 6b1808f432 release(dsh): 0.1.6-alpha.2 2026-09-17 21:11:19 +08:00
Yichen Yan eeb9b03465 feat(web): serve the shell, API and plugin resources from the document directory 2026-09-17 16:00:15 +08:00
Yudong Han 0e5ec6defa Merge pull request #4041 from deepseek-harness/office-sidebar-preview
feat(preview): consume shared Office conversion in sidebar
2026-09-17 14:57:23 +08:00
imccyu c094b663fb feat(client): add reusable component factories 2026-09-17 14:06:14 +08:00
yudshj 1c9f2e3a1f Merge master into office-sidebar-preview 2026-09-17 12:05:47 +08:00
yudshj 880c186146 refactor(document): consolidate Office preview remotes 2026-09-17 11:52:46 +08:00
Tianyi Cui 5c25efba91 merge: integrate Client Session references into session-log-v4 2026-09-17 08:59:42 +08:00
imccyu 6d3b5d4526 test(client): migrate Session reference coverage 2026-09-17 05:28:19 +08:00
Dudu-0223 e55093b47d feat(subagent): migrate direct catalog consumers to parent projections 2026-09-16 22:05:17 +08:00
yudshj 54d268c409 feat(preview): consume shared Office conversion independently 2026-09-16 17:06:55 +08:00
_Kerman 992a932a16 Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
# Conflicts:
#	packages/api/session-controller/README.i18n.yaml
#	packages/api/session-controller/README.md
#	packages/api/session-controller/README.zh.md
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.md
#	packages/client/ui-conversation/README.zh.md
#	packages/client/ui-conversation/src/client/contract/input.ts
#	packages/client/ui-conversation/src/client/input/facade.ts
2026-09-15 16:52:24 +08:00
Yichen Jiang c28fcc6cdb Merge remote-tracking branch 'origin/master' into worktree/client-modules-live
# Conflicts:
#	docs/subsystems/client-modules.i18n.yaml
#	docs/subsystems/client-modules.md
#	docs/subsystems/client-modules.zh.md
#	packages/client/hmr/package.json
#	packages/client/modules/README.i18n.yaml
#	packages/client/modules/README.md
#	packages/client/modules/README.zh.md
2026-09-15 15:31:14 +08:00
creatixchu ea53423b60 release(dsh): 0.1.6-alpha.1 2026-09-15 09:35:57 +08:00
Yichen Jiang fb0fb48033 feat(web): apply client plugin changes without reloading 2026-09-14 21:47:38 +08:00
_Kerman 49f601e902 Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
# Conflicts:
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	packages/api/session-controller/README.i18n.yaml
#	packages/api/session-controller/README.md
#	packages/api/session-controller/README.zh.md
#	packages/api/session-controller/tests/client-apply.client.spec.ts
#	packages/api/session-controller/tests/fake-api.client.ts
#	packages/api/session-controller/tests/manager.client.spec.ts
#	packages/api/session-controller/tests/projection-store.client.spec.ts
#	packages/api/session-controller/tests/queue-store.client.spec.ts
#	packages/api/session-controller/tests/session-pending-submissions.client.spec.ts
#	packages/client/connection/src/client/fixture.ts
#	packages/client/connection/tests/fixture.client.spec.ts
#	packages/core/agent-loop/README.i18n.yaml
#	packages/core/agent-loop/README.md
#	packages/core/agent-loop/README.zh.md
#	packages/extensions/tool-cordis/src/api-catalog.ts
2026-09-14 14:12:25 +08:00
imccyu c0e8252afe refactor(client): remove fixture-only API residue 2026-09-13 22:51:53 +08:00
imccyu c1504a2aa6 fix(client-modules): resolve the owning Loader instance 2026-09-13 21:27:54 +08:00
imccyu a475a65bed fix(client-test-runtime): isolate client instances 2026-09-13 21:27:53 +08:00
Tianyi Cui 5f773a0ded feat(workspace): restore archived sessions from a settings page
Sessions could be archived from the sidebar row menu but never restored:
the registry-global archive set was a one-way display filter with no
inverse RPC and no surface listing its members.

WorkspaceRegistry.unarchiveSession drops one id from archivedSessionIds in
one durable write on the same operation chain as archive, with no
session-existence probe because a removal cannot introduce an unknown
referent. The Workspace controller exposes it as workspace.unarchiveSession
returning the complete archive set, which the existing archived follow
increment already propagates, so no frame type and no persisted field
changes.

The new client package dsh-client-ui-settings-unarchive-sessions owns the
restore surface: one localized settings.section page listing the archive
set joined with loaded session summaries, newest archive first, searchable
by title or workspace, with one Unarchive action per row.
2026-09-13 16:45:45 +08:00
Chinesezjc 6b19923ad5 fix(auto-review): clear the master integration gates
Register the permission catalog default response so the web roster boot
matches every Remote call it makes, and carry the deprecation rule for the
session history read this reviewer needs with the deferred migration
recorded in the package README.
2026-09-11 15:08:48 +08:00
Turtle 239f695e1f Merge pull request #3830 from deepseek-harness/turtle/required-plugin-startup-policy
feat(boot): distinguish required startup failures
2026-09-11 13:28:59 +08:00
Yichen Jiang 59f2e3be33 Merge release/dsh-0.1.5 version 0.1.5-rc.2 into master sync branch 2026-09-10 21:53:53 +08:00
Yichen Jiang a305303422 release(dsh): 0.1.5-rc.2 2026-09-10 21:38:20 +08:00
turtle1999 39e6e6fb89 Retain awaited client cleanup after rebase 2026-09-10 18:21:19 +08:00
imccyu 627c0f741e feat(test-support): assemble real clients with native test fixtures 2026-09-10 16:34:29 +08:00
imccyu 0718711886 docs(testing): define the native-mock client assembly tier 2026-09-10 16:34:27 +08:00
j-xiang 4ddf777ad8 Merge master into README proofreading branch 2026-09-10 10:42:13 +08:00
imccyu 1ef9c1fa9a release(dsh): 0.1.5-rc.1 2026-09-10 09:13:14 +08:00
j-xiang b5578ae46a Merge master into README proofreading branch 2026-09-10 01:29:37 +08:00
j-xiang 8e8fb2fc62 docs(i18n): proofread bilingual README corpus 2026-09-10 00:21:32 +08:00
imccyu dd393c1820 release(dsh): 0.1.5-alpha.2 2026-09-09 22:02:09 +08:00
_Kerman 72f2e71070 fix(web): reconcile durable inbox recovery with master 2026-09-09 15:14:08 +08:00
_Kerman cb999713d1 Merge latest master into xtr/durable-inbox-web-recovery 2026-09-09 14:31:52 +08:00
imccyu 713b1aacad docs(client): synchronize panel navigation APIs and contracts 2026-09-09 00:26:40 +08:00
imccyu 385f651c5f fix(test): release default slot runtime sources symmetrically 2026-09-09 00:26:36 +08:00
imccyu fbbcbf33fe docs(client): document global main-panel extension points 2026-09-09 00:26:34 +08:00
imccyu fe460f7fd1 test(client): support panel selection in slot runtime 2026-09-09 00:26:29 +08:00