Commit Graph
22958 Commits
Author SHA1 Message Date
07akioni 3f9f36e92d feat(locale): add Japanese client and desktop translations 2026-10-21 11:42:12 +08:00
Turtle 358ce64945 Merge pull request #6738 from deepseek-harness/revert-6418-worktree/session-agent-controller-refactor-ff892d
Revert "feat(agent): admit Web prompts through the agent controller"
2026-10-20 19:28:42 +08:00
imccyu b839823118 Merge pull request #6673 from deepseek-harness/fix/touch-tooltip-interactions
fix(client): align touch tooltips and hover affordances
2026-10-20 19:26:56 +08:00
Stevring 3fef66f140 test(client): use pointer events for entry menu tooltip 2026-10-20 19:12:59 +08:00
Turtle aa8bdfc79e Revert "feat(agent): admit Web prompts through the agent controller" 2026-10-20 19:09:02 +08:00
Stevring 65d4afafd6 fix(client): reveal menu shortcuts during keyboard navigation 2026-10-20 18:57:48 +08:00
Saafo 92d48e0579 Merge pull request #6663 from deepseek-harness/fix/sidebar-drag-preview
fix(client): isolate native sidebar drag previews
2026-10-20 18:54:51 +08:00
Stevring 62f78d82f2 fix(client): preserve keyboard focus hints without hover 2026-10-20 18:07:55 +08:00
Saafo 4470ca8910 🐛 fix(client): tie drag completion to the source row 2026-10-20 18:05:30 +08:00
Stevring eb8ef617c0 fix(client): isolate sidebar drag previews 2026-10-20 18:05:30 +08:00
Turtle e1a11ef09c Merge pull request #6222 from deepseek-harness/turtle/auto-review-cache-ffc00f27f914
fix(auto-review): keep review requests cacheable across calls
2026-10-20 18:05:26 +08:00
Stevring a8e6fe84f0 fix(client): restore touch workspace and search actions 2026-10-20 17:59:13 +08:00
Chinesezjc 690f987d3d Merge pull request #6722 from deepseek-harness/revert/weighted-approval-check-run
revert: restore the weighted approval commit status gate
2026-10-20 17:48:59 +08:00
Chinesezjc 4c293671ea Revert "Merge pull request #5440 from deepseek-harness/fix/weighted-approval-check-run"
This reverts commit 17c5ac9bac7eae975dde6596287deeb77cba20a4, reversing
changes made to c830699b0a3d21f993de79b2089f227da913e428.
2026-10-20 17:46:59 +08:00
TurtleandTuyixiang 427abde3da Credit review by @Tuyixiang
Co-authored-by: Tuyixiang <[email protected]>
2026-10-20 17:45:25 +08:00
Chinesezjc 5ae85515c0 Merge pull request #6670 from deepseek-harness/fix/bundle-self-client-resolution
fix(test-runtime): resolve a bundle own browser entry
2026-10-20 17:44:36 +08:00
Chinesezjc c60fee918a Merge pull request #6380 from deepseek-harness/xtr/session-projection-skill
docs: add session projection design skill
2026-10-20 17:42:58 +08:00
Saafo 2e39b9c195 📝 docs(test-runtime): clarify bundle manifest lookup precedence 2026-10-20 17:12:52 +08:00
Stevring b7d8943cfa Merge origin/master into fix/touch-tooltip-interactions 2026-10-20 17:12:10 +08:00
Stevring 8fe2db10a0 fix(client): address touch interaction review findings 2026-10-20 17:07:57 +08:00
_Kerman 6a06b72cdc docs: clarify projection initialization ordering 2026-10-20 16:58:25 +08:00
_Kerman 3540f621b9 docs: clarify session projection migration guidance 2026-10-20 16:58:25 +08:00
_Kerman 97b0d84d69 docs: add session projection design skill 2026-10-20 16:58:25 +08:00
Chinesezjc 9e6692931c Merge pull request #5440 from deepseek-harness/fix/weighted-approval-check-run
Publish weighted approval as a completed check run
2026-10-20 16:34:06 +08:00
imccyu cc724905a2 Merge pull request #6658 from deepseek-harness/feat/pwa-install-assets
feat(web): ship PWA install icons and standalone metadata
2026-10-20 16:31:07 +08:00
imccyu 8f47dd7e16 Merge pull request #6697 from deepseek-harness/worktree/sync-dsh-0.2.1-entry-customization-to-master
release(dsh): sync 0.2.1 entry customization back to master
2026-10-20 16:18:44 +08:00
imccyu 14e5add505 Merge master into DSH 0.2.1 entry customization synchronization branch
Bring master 45d1196d3fe into the release/dsh-0.2.1 squash commit of #6247
so the release commit stays an ancestor of master.

Conflict resolutions:
- apps/web/tsconfig.json, tsconfig.host.json: keep the entry-customization
  e2e and master's Computer Use e2e entries.
- docs/subsystems/slots.{md,zh.md}: keep both added paragraphs; re-record the
  slots, ui-primitives, and ui-workspace README translation pairs.
- ui-sidebar SidebarRoot.tsx and locales.ts: keep the More menu imports and
  copy next to master's version-copy toast.
- apps/web/tests/agent-preset-selection.e2e.ts: keep the New Session
  blank-reuse assertions, read presets through master's
  sessionProjections.checkpoint() instead of the deprecated stateOf().

Follow-ups on master's side:
- ui-sidebar sidebar-root spec: give master's version-copy render the entry
  pin props that SidebarRootInjected now requires.
- snapshots/web/steering/trajectory.expected.md: add the More conversation
  views trigger to master's new Trajectory golden.
2026-10-20 15:47:29 +08:00
Chinesezjc ad0a0a9e5a fix(ci): revoke every passing conclusion and record it from main
A required check accepts success, neutral, and skipped, and any workflow in the
pushed branch can name a job after the required check, so revoke every passing
conclusion instead of only the success this publisher writes. Take the
conclusion writer from main() so tests no longer append to the runner's
GITHUB_OUTPUT file.

Record the measured naming risk, the edit and re-run migration paths, and the
boundary of each cancellation measurement in the decision note and README.
2026-10-20 15:42:03 +08:00
Stevring 5ea275ca2e test(client): verify blocked split pointer hit testing 2026-10-20 15:23:29 +08:00
5ff29190ed feat(ui): add navigation entry customization (#6247)
* fix(ui): avoid tooltip trigger overlap when a side fits

* feat(ui): add navigation entry customization

* fix(test): keep tooltip geometry independent of JSX types

* fix(ui): align customization catalogs and integration fixtures

* test(ui): complete customization lifecycle and release integration coverage

* fix(ui): return entry discovery to the installed plugin list

* docs: refresh module graph for entry customization

* build: refresh workspace links for the moved entry customization package

* docs: regenerate catalogs and pairing hashes for the moved entry customization package

* test(web): cover default-loaded entry customization in the Web e2e

* test(ui): describe entry customization as a browser plugin in the host entry spec

* build: order entry customization publication files as workspace constraints require

* test(release): drop the moved entry customization package from the experimental family list

* style(ui): use the shared focus ring color on entry customization triggers

* test(web): re-record goldens for the default-loaded More navigation menus

* test(web): add the More conversation views trigger to the remaining CI-reported goldens

* docs: record region-owned pins for plugin entry customization

* refactor(ui): rebuild entry customization on region-owned pins and More menus

- Each navigation region (left sidebar, Conversation header, right sidebar
  guide) persists its own unpinned list under
  dsh.slot.manual-order.<list slot key>.v1, filters its own launchers, and
  draws its own More button and Menu around its actions slot.
- ui-entry-customization only registers the shared menu rows (entries with
  pin buttons, Browse other plugins, Create your plugin) into the three
  actions slots and keeps no state.
- Remove ctx.layout.entryVisibility, the plugin store, left-sidebar drag
  reordering, and agentPresetNavigation; ui-layout and ui-agent-preset match
  release/dsh-0.2.1 again.
- Keep the release <nav> and Conversation tab-bar visibility conditions.
- Move the More glyph into ui-primitives as IconAppsAddOutline{Regular,Medium}.

* docs: compile the entry customization owner props example

* docs(ui): describe the wrapping Conversation tab row in the header comment

* fix(ui): return New Session to the Workspace blank and its unsent draft

- New Session (startSession without options) takes the blank-reuse path
  again instead of creating a fresh Session on every call, which hid the
  previous blank and its unsent draft since a5c9c2aaeef (#5775).
- A request that names an Agent preset skips blanks listing a different
  preset, so Creator entries no longer take over an ordinary draft.
- Record the change in a v0.2.1-rc.2 upgrade guide; the Host refresh of a
  stale loaded blank stays deferred (see the Agent Note).

* docs: regenerate the Cordis inspect catalog for New Session blank reuse

* fix(ui): keep the selected entry visible while unpinned

- Left-sidebar rows and View tabs keep the selected entry, with aria-current or aria-selected, until another entry is selected.
- Entry menu Creator action takes no region argument; the registration's region selects the prompt.
- Document the 2px panel-row and 32px View-tab gaps; drop commit hashes from the New Session Agent Note.

* fix(ui): leave a blank of another preset unstaged when starting Creator

startCreatorDraft stages cordis only when the main blank lists no preset or already lists cordis; navigation opens a separate Creator blank otherwise, so a Standard draft blank keeps its preset.

* feat(ui): choose whether a draft prompt replaces, appends to, or keeps an existing draft

- DraftInitializationOptions gains whenDraftExists ('replace' | 'append' | 'keep', default 'keep'); clearPreviousDraft stays and maps to 'replace' only when whenDraftExists is omitted.
- Append adds the prompt as new paragraphs after the existing text and references; attachments stay in every mode.
- The three Create your plugin entries append their regional prompt.

* test(web): align e2e with New Session blank reuse and the visible selected entry

* refactor(ui): share the draft paragraph writer between setDraft and appendDraft

---------

Co-authored-by: Yif <[email protected]>
Co-authored-by: imccyu <[email protected]>
2026-10-20 15:17:13 +08:00
Yichen Jiang 27c1b4c56f Merge pull request #6649 from deepseek-harness/xtr/fix-trajectory-input-order
fix(web): 修复停止补发后轨迹中的输入顺序
2026-10-20 15:14:49 +08:00
EricMoin 7bc928c449 fix(web): strengthen install icon validation 2026-10-20 15:06:37 +08:00
Chinesezjc d98ff5d9fa fix(ci): gate the setup failure step on the recorded conclusion
The evaluation failure title was preserved by matching details_url, a field
GitHub may rewrite for check runs created with the workflow token, so the
setup-failure step could replace the specific title after all. Record the
conclusion the publish step wrote in a step output and run the setup-failure
step only when no conclusion was recorded; a published decision now survives
a later failure or cancellation without relying on an API field.

Record the measured timeout cancellation path and the re-run migration limit in
the decision note, and scope the pre-push guidance to ACTION_REQUIRED so a
failure conclusion is not read as an approval wait.
2026-10-20 15:01:34 +08:00
_Kerman b3c1586897 chore(trajectory): prune retired unknown cast allowances 2026-10-20 14:38:29 +08:00
EricMoin b9e4a29210 fix(web): preserve detail in install icon exports 2026-10-20 14:35:00 +08:00
Chinesezjc 025723a7c7 fix(ci): keep the evaluation failure title the setup step would overwrite
The setup-failure step runs after an evaluation failure has already concluded the
check run as failure with a title that names the failure, so its generic title
replaced the specific one. Keep a failure that already points at the current run
and update every other conclusion.

Record the transition gaps and the filtered list count in the decision note: the
combined status resolves a context to its latest status, so the rollout retires
the earlier pending status instead of leaving it for CI watchers.
2026-10-20 14:34:22 +08:00
Stevring dbb0d2bd83 Merge origin/master into fix/touch-tooltip-interactions 2026-10-20 14:34:15 +08:00
Stevring 11e4b3f52f test(client): fix touch input and hover coverage checks 2026-10-20 14:34:03 +08:00
Chinesezjc 70b11f5f5f Merge remote-tracking branch 'origin/master' into fix/weighted-approval-check-run
# Conflicts:
#	.agents/notes/archived/process/2026-09-09-blocked-weighted-approvals-remain-pending.md
#	.agents/notes/archived/process/2026-09-09-blocked-weighted-approvals-remain-pending.zh.md
#	.agents/notes/implemented/process/2026-09-10-approval-review-workflow-identity.i18n.yaml
#	.agents/notes/implemented/process/2026-09-11-production-blame-approval-weight.i18n.yaml
#	.agents/notes/implemented/process/2026-09-15-pr-approval-delegation.i18n.yaml
2026-10-20 14:29:46 +08:00
Turtle 37dfd82736 Merge pull request #6287 from deepseek-harness/turtle/reconnect-timer-1f7094496bf8
fix(ui-chat): pause the running clock while reconnecting
2026-10-20 14:20:50 +08:00
Turtle 62e5926995 Merge pull request #6583 from deepseek-harness/turtle/copy-version-click-5d1aa11ad7b6
feat(web): copy the local-build version from the sidebar brand
2026-10-20 14:15:39 +08:00
Turtle c3e9b28845 Merge pull request #6354 from deepseek-harness/agent/web-fetch-fakeip-469be4db70d0
fix(web)!: let web_fetch reach non-public destinations
2026-10-20 14:13:24 +08:00
Turtle 8114a96ae4 Merge pull request #6623 from deepseek-harness/turtle/experimental-plugin-details-all
docs(experimental): add illustrated detail documents to the remaining experimental plugins
2026-10-20 14:11:59 +08:00
EricMoin 2138243df1 Merge branch 'master' into feat/pwa-install-assets 2026-10-20 14:10:47 +08:00
Turtle f8eafdc554 Merge pull request #6644 from deepseek-harness/turtle/discover-back-and-upgrade-0e7147938262
fix(plugin-manager): return to Discover from a bundle page opened there
2026-10-20 14:09:05 +08:00
imccyu 89b9e5b1e8 Merge pull request #6662 from deepseek-harness/fix/iphone-button-outline
fix(client): stabilize shared button outlines in Safari
2026-10-20 14:07:02 +08:00
Stevring 16f1b7828f fix(client): preserve theme styles for detached documents 2026-10-20 13:45:24 +08:00
Stevring dc1bd1c28e fix(client): unify shared button inset outlines 2026-10-20 13:41:45 +08:00
Turtle 29959ed1ab Merge pull request #6537 from deepseek-harness/turtle/gemini-thought-signature-945bf702b56d
fix(llm-pi-ai): replay Gemini tool-call thought signatures over Chat Completions
2026-10-20 13:29:16 +08:00
Turtleandimccyu fc02fe9624 Credit review by @imccyu
Co-authored-by: imccyu <[email protected]>
2026-10-20 13:26:42 +08:00