Commit Graph
23653 Commits
Author SHA1 Message Date
imccyu 5259c1e103 Merge master into DSH 0.2.1-rc.3 synchronization branch 2026-10-23 12:10:59 +08:00
imccyu b5fb03927e Merge pull request #7007 from deepseek-harness/07akioni/fix-master-locale-parity
fix: 同步 master 合并后的五种语言字典
2026-10-23 12:10:32 +08:00
imccyu 00e06cfac9 release(dsh): align master packages with 0.2.1-rc.3 2026-10-23 12:02:11 +08:00
07akioni e1d9697f6c test: match the neutral task cleanup confirmation title 2026-10-23 11:57:29 +08:00
imccyu 14f0b2aafe Merge master into DSH 0.2.1-rc.3 synchronization branch 2026-10-23 11:56:34 +08:00
07akioni 0926f361b2 fix: align task cleanup copy across locales 2026-10-23 11:46:17 +08:00
07akioni 3ae19c15a9 fix: keep clear confirmation counts grammatically neutral 2026-10-23 11:33:25 +08:00
imccyu 1f81c047fc Merge pull request #6999 from deepseek-harness/worktree/release-dsh-0.2.1-rc.3
release: next version dsh@0.2.1-rc.3
dsh-v0.2.1-rc.3
2026-10-23 11:29:36 +08:00
07akioni 84b028655b fix: synchronize new locales with current client dictionaries 2026-10-23 11:29:25 +08:00
imccyu b049cd257c Merge pull request #6980 from deepseek-harness/07akioni/more-locales
feat(i18n): add Spanish, French, German, Russian and Portuguese
2026-10-23 11:22:55 +08:00
Chinesezjc 7bf0640c13 Merge pull request #6734 from deepseek-harness/feat/schedule-clear-ended
feat(schedule): remove every ended task from the automation page
2026-10-23 11:20:28 +08:00
Turtle b3189f6fad Merge pull request #6804 from deepseek-harness/turtle/subagent-picker-row-align-5fdaf8a5d12d
fix(web): align subagent switcher rows without a sidebar button
2026-10-23 10:31:22 +08:00
Turtle 918c01c1bf Merge pull request #6889 from deepseek-harness/turtle/menu-trigger-gap-a6ac85a85cd9
fix(ui-primitives): keep header menus next to their trigger on macOS desktop
2026-10-23 10:31:07 +08:00
Turtle 153b760fe8 Merge branch 'master' into turtle/subagent-picker-row-align-5fdaf8a5d12d 2026-10-23 10:19:27 +08:00
Turtle a0cbe9331c Merge pull request #6887 from deepseek-harness/turtle/trace-tab-indicator-clip-bede5ab93d0f
fix(ui-conversation): keep the active tab bar visible over Trajectory and widen tab targets
2026-10-23 10:14:02 +08:00
Turtle af5ab40ac5 Merge remote-tracking branch 'origin/master' into turtle/menu-trigger-gap-a6ac85a85cd9
# Conflicts:
#	packages/client/ui-primitives/README.i18n.yaml
#	packages/client/ui-primitives/README.md
#	packages/client/ui-primitives/README.zh.md
2026-10-23 10:01:13 +08:00
Turtle 424cde1de2 Merge pull request #6950 from deepseek-harness/turtle/preview-codemirror-slow-e4bae59874fa
fix(web): speed up lazy bundle loads in the Web preview
2026-10-23 09:56:19 +08:00
Turtle 06f960d705 Merge pull request #6984 from deepseek-harness/turtle/hover-truncated-text-e74d638a44b5
feat(ui-chat): show cut-off composer statistics in a tooltip
2026-10-23 08:40:51 +08:00
imccyu d02ea370ee release(dsh): 0.2.1-rc.3 2026-10-23 01:11:35 +08:00
Tianyi Cui 5219b36110 Merge pull request #6498 from deepseek-harness/turtle/approval-never-wording-7e59b56e7f5c
fix(user-approval): describe approval policies by meaning in model-visible text
2026-10-22 23:47:16 +08:00
imccyu 3725e75edd Merge pull request #6991 from deepseek-harness/worktree-sync-dsh-0.2.1-to-master-1022
release(dsh): sync 0.2.1 navigation and model listing to master
2026-10-22 23:39:15 +08:00
imccyu 261f2db185 Merge master into DSH 0.2.1 navigation and model listing sync 2026-10-22 23:22:35 +08:00
Tianyi Cui 035fcb88dc Preserve SDK approval wording fixtures after rebase
Co-authored-by: Tianyi Cui <53024+tianyicui@users.noreply.github.com>
2026-10-22 23:13:19 +08:00
TurtleandTianyi Cui 747cbf13b6 Describe the ask approval policy by its meaning
Replace the literal "Approval policy: ask." runtime-context sentence
with a statement parallel to the never-policy sentence, and refresh the
current-generation fixtures that persist it.

Co-authored-by: Tianyi Cui <53024+tianyicui@users.noreply.github.com>
2026-10-22 23:13:19 +08:00
TurtleandTianyi Cui 43149cd905 Sync approval switch notice snapshot and docs
Update the Web permission-policy snapshot, the config catalog line
reference and README text for the new switch notice; pin both switch
directions in the unit test.

Co-authored-by: Tianyi Cui <53024+tianyicui@users.noreply.github.com>
2026-10-22 23:13:19 +08:00
TurtleandTianyi Cui c29cda3777 Clarify approval policy switch notice wording
Name each policy by its meaning in the model-visible switch notice so a
bare "never" is not read as "approval is never granted".

Refs #6496

Co-authored-by: Tianyi Cui <53024+tianyicui@users.noreply.github.com>
2026-10-22 23:13:19 +08:00
Xu Hanxiang 70e2d31cc3 Merge pull request #6486 from deepseek-harness/feat/client-extension-points
feat(liveshare): add client and host seams a served read-only page needs
2026-10-22 22:57:27 +08:00
07akioni dcbcee9469 test(i18n): retain fallback coverage for unknown speech languages 2026-10-22 22:50:18 +08:00
07akioni 07ef8a20b8 Merge master and sync plugin index translations 2026-10-22 22:24:15 +08:00
mektpoy 76e39794eb revert(ui-session,ui-conversation): let the stop shortcut reach the Host
A reviewer blocked the one-shot boolean access read the stop shortcut used:
the client should not expose a render-time access answer as a boolean API.
The Esc-Esc sequence submits its cancel again, and a Host refusal surfaces as
the composer failure the Stop button would have prevented. Send keeps the same
treatment: the access snapshot withholds the buttons, the Host refuses the
request, and the composer reports it.
2026-10-22 22:16:06 +08:00
07akioni 1552f524f7 fix(i18n): address translation, installer and coverage review findings 2026-10-22 22:14:47 +08:00
mektpoy 80ce0669e9 revert(ui-conversation): leave a withheld submission to the Host
The access snapshot still withholds the Send button, Stop, and file intake, and
the Esc-Esc stop path still reads its own answer before sending a cancel. A
keyboard submission, however, once again reaches the Host, which refuses it and
reports the failure to the composer; gating that path needs a larger redesign
of the composer keyboard face.
2026-10-22 21:57:49 +08:00
Chinesezjc 583f6b529c test(ui-schedule): cover closing the cleanup menu 2026-10-22 21:46:09 +08:00
mektpoy d9c012551a revert(client): return the fork seam to master
ui-chat goes back to origin/master as a whole package: the footer branch forks
through ctx.sessions.fork with its own atSeq and analytics again, and Workspace
navigation takes no ForkSessionOptions. The package is identical to
origin/master, which drops the served-page branch assertions and README lines
added on this branch; they pinned behavior master already has.

ui-workspace restores master's forkSession signature and implementation
(allowMigration only, increaseTitle: true, selection untouched) and drops the
ForkSessionOptions type. uiSession leaves the inject list because the removed
session/rename probe was its only consumer. The row fork keeps passing
{ allowMigration: false }, which master already does, so forking from a shared
page never starts source-format migration.

Regenerate the client API catalog, restore the README fork contract (fork does
not navigate; allowMigration carries migration permission), re-record the
translation pairing, and return the ui-chat unknown-cast baseline count to 2.
2026-10-22 21:44:25 +08:00
mektpoy 58785b975e fix(ui-workspace): name every branch and open it on request
`increaseTitle` renames the child, not the source, and whoever may fork a Session also holds `session/rename` on the child it creates; the source's access answer therefore never decides the child's title. Remove the source-rename probe, the listed-branch wait, and its refresh-failure notice: `selected` opens the child immediately and `listed` leaves the selection alone. Update the public READMEs and the client API catalog.
2026-10-22 21:44:25 +08:00
mektpoy 0b72a81411 chore(docs): re-record the conversation README pairing after the master rebase 2026-10-22 21:44:25 +08:00
mektpoy 3ecac5aad4 chore(catalogs): follow the branch contract and Session access edits
Regenerate the client API catalog after the forkSession contract and the
ui-workspace gating changes.
2026-10-22 21:44:25 +08:00
mektpoy d985f44124 chore(ui-chat): correct the branch-rejection test comment
A rejected branch leaves the source view unchanged, as master does; the old
comment described the removed notice.
2026-10-22 21:44:25 +08:00
mektpoy 3bcb22f732 fix(ui-conversation): gate keyboard submission and stop
Enter, Mod+Enter, and accelerated queue steering now read the same prompt
answer as the Send button, and the fixed Esc-Esc sequence reads the live
session/cancel answer before it consumes a press. The composer locks for a
denied prompt, the README states both paths, and tests pin each gesture.
2026-10-22 21:44:25 +08:00
mektpoy cfc2fd926e fix(ui-workspace): route row gates through the Session service
Read the branch-naming answer through uiSession.access instead of the
cross-kind source, drop the unused openListedBranch method, give the branch
list refresh its own notice, and gate the search result restore control like
the archive row. The forkSession contract now states its navigation and throws
behaviour, present documents its 2x2 landing table, and the README describes
the real branch policy and row gating.
2026-10-22 21:44:25 +08:00
mektpoy f0fcd68b7b feat(ui-session): answer Session access for JS callers
The Session kind owns its remoteAccess source, so other plugins get one
non-Hook read from this service instead of reading the source themselves.
Navigation uses it for the branch-naming answer.
2026-10-22 21:44:25 +08:00
mektpoy b1f10381cb fix(ui-deliverables): return the package to master
The owner-baseline gate this branch added has no reader on the master access
API, and the reader page reads files through the Host route instead.
2026-10-22 21:44:25 +08:00
mektpoy 491515268a chore(docs): regenerate the cordis catalog after the frontend-static simplification 2026-10-22 21:44:25 +08:00
mektpoy c3f2fbbdad chore(client): follow the merged seam records in generated artifacts
The client inspect catalog follows the seam signatures, the unknown-cast
baseline drops the two casts this branch retired, and the README pairing
records match the merged prose.
2026-10-22 21:44:25 +08:00
mektpoy 55deb7a6c6 fix(ui-workspace): keep the per-resource access gates on the whenAccess client
Master's rows and menus carry no answer of their own, so the served-page seams
thread the Slot-standard access Hooks through the workspace browser and the
session actions: New Session, workspace rename/delete/reorder, and a Session's
rename, pin, archive, and reorder appear only while their own resource allows
them. The rows spec keeps master's pointer-armed rename helper and supplies the
allow-all answers as props.
2026-10-22 21:44:25 +08:00
imccyu 0d521bdd0d refactor(client): drop owner-era leftovers and gate sidebar New Session on session/create
- The Conversation binding tracking returns to master: the retainInfo subscription and the
  plugin-owned binding effects are a separate fix, not a served-page seam.
- The deliverables opener drops the ownerHostRoutes parameter no caller passes any more.
- Assertions on existing connection and HMR behavior, the menu-open-state spec, and the
  settings-general roster splice return to master.
- Workspace shortcuts no longer re-read Session access through source(); the Host refuses a
  denied rename, fork, or archive.
- The sidebar New Session button, the window-chrome New Session control, and the expanded
  brand shortcut render only while useRemoteAccess('session/create') allows it.
2026-10-22 21:44:25 +08:00
imccyu a154f70ab9 refactor(client): read composer access through useAccess and drop the branch-refusal notice
- The composer decides file intake from the Session-scope useAccess('fileUploads/upload')
  answer, like Send and Stop. The optional fileIntake hook seat, the InputHub fileIntake
  entries, and the ui-slots optional-hook typing are removed.
- The fixed Stop shortcut no longer re-reads session/cancel through a shared stop; the
  button stays hidden by useAccess and the Host refuses a withdrawn cancel.
- uiConversation.noticeBranchRefusal, branch.ts, ForkRefusal, and message.branchRefused are
  removed; a failed Chat branch leaves the source view unchanged, as on master.
2026-10-22 21:44:25 +08:00
mektpoy e30684cf9c fix(client): keep the served-page records on the master access API
The owner-baseline gating commits are superseded by master's whenAccess seams,
so the remaining records revert to the master shapes: the deliverables opener
takes no owner answer, the Japanese dictionaries carry the surviving copy, and
the test splice and owner assertions match the current services.
2026-10-22 21:44:25 +08:00
mektpoy 82ed6eee99 fix(ui-chat): narrow the injected Chat View without an unknown assertion
Read the slot injection through its real rest-parameter function type and invoke it directly, so the static gate sees no new assertion to unknown. The client inspect catalog's expected uiWorkspace signature follows the generated catalog after the fork options became ForkSessionOptions.
2026-10-22 21:44:25 +08:00
mektpoy b191c5c865 revert(session-controller): restore the package to master
P1 keeps only the client/host extension seams; the requestId deduplication,
the cancel recheck, and the named fork child are deferred to a later change.
The package, its README pair, and the persistence schema lines return to the
master state, so the branch adds no session-controller behaviour.
2026-10-22 21:44:25 +08:00