Commit Graph

9006 Commits

Author SHA1 Message Date
Huanqi Cao
a92ffff10a fix(host): prefer pwsh for the Windows directory picker and force DPI awareness
The win32 branch now spawns pwsh.exe (PowerShell 7) first and falls back
to powershell.exe (Windows PowerShell 5.1) only when pwsh is missing
(ENOENT), mirroring the Zenity-KDialog fallback. PowerShell 7 renders the
modern IFileDialog folder picker; the 5.1 fallback keeps the legacy tree
functional. Both runtimes execute the identical script, which opts the
process into system DPI awareness (SetProcessDPIAware) before any window
exists, fixing the blurry bitmap-stretched dialog on scaled displays.
2026-08-05 00:31:43 +08:00
Huanqi Cao
60ba5ef3f6 Merge pull request #1120 from deepseek-harness/feat/pwsh-tool
feat(pwsh): add the pwsh-local executor and the pwsh tool
2026-08-05 00:31:39 +08:00
Huanqi Cao
c5acd4ce96 Merge remote-tracking branch 'origin/master' into feat/pwsh-tool 2026-08-04 22:05:31 +08:00
xjt
8320c3666d Merge origin/master into xjt/proofreading-active-docs-2-apply 2026-08-04 21:03:39 +08:00
xjt
782d84116a docs(i18n): restore first-occurrence terminology 2026-08-04 20:54:42 +08:00
imccyu
55e0dc3565 Merge pull request #1548 from deepseek-harness/codex/session-pending-interactions
feat(client): show pending interactions in the session sidebar
2026-08-04 20:50:55 +08:00
Huanqi Cao
acda0e39bc Merge remote-tracking branch 'origin/master' into feat/pwsh-tool 2026-08-04 20:39:17 +08:00
Turtle
e2049910d5 refactor(client): keep pending interaction change UI-scoped 2026-08-04 20:28:23 +08:00
xjt
c522053cef Merge origin/master into xjt/proofreading-active-docs-2-apply 2026-08-04 19:51:18 +08:00
Hypatia May
cc89c529c6 Merge remote-tracking branch 'origin/master' into fix/landlock-runner-failure-classification 2026-08-04 19:05:33 +08:00
Turtle
76d43d616d Merge remote-tracking branch 'origin/master' into codex/session-pending-interactions
# Conflicts:
#	packages/client/connection/README.i18n.yaml
#	packages/client/connection/README.md
#	packages/client/connection/README.zh.md
2026-08-04 19:03:01 +08:00
Turtle
3a54694d28 fix(client): preserve pending waits across reconnect 2026-08-04 18:52:11 +08:00
xjt
edb3e82c35 docs(i18n): address proofreading review findings 2026-08-04 18:42:13 +08:00
creatixchu
fab131a366 fix(web): align the context separator with ToolRow and name the caption
Review follow-ups on the context provenance row:

- the producer name now follows ToolRow's aria-hidden separator dot instead
  of a literal middot inside the text, so the two disclosure rows expose one
  accessible-name shape;
- the English steering caption becomes the noun `Interjection`, parallel to
  the Chinese 插话 and to the label this bubble carried before;
- the history fold gets its own provenance assertion, so the mapping it
  declares separately from TranscriptAdapter is pinned on both sides;
- the superseded-in-part bullet on the no-interjection-chrome note now
  enumerates the third Decision bullet too, whose no-badge and no-IconActions
  clauses had both lapsed.
2026-08-04 18:25:44 +08:00
imccyu
6f10f9c01c Merge pull request #1527 from deepseek-harness/worktree-websocket
feat(web): move connection downlinks to WebSocket
2026-08-04 18:18:32 +08:00
Huanqi Cao
39b0695d48 Merge remote-tracking branch 'origin/master' into feat/pwsh-tool
# Conflicts:
#	apps/cli/composition.md
#	docs/testing.i18n.yaml
#	docs/testing.md
#	docs/testing.zh.md
2026-08-04 17:54:45 +08:00
creatixchu
95a89078d5 docs(web): refresh the MessageItem module comment for the steering caption 2026-08-04 17:53:26 +08:00
Hypatia May
8c72cd3a8f docs(sandbox): align final runner evidence 2026-08-04 17:45:12 +08:00
creatixchu
de96087923 feat(web): name context sources and mark steering in the transcript
Every logged non-user user/message collapsed into one identical
「上下文注入」 row, and mid-turn steering rendered in exactly the bubble a
turn-opening prompt uses, so the transcript could not say what had been
added or which message interrupted a running turn.

TranscriptAdapter and the history fold now attach a provenance view to
each context node, computed by contextProvenance() from the durable
source alone: a role (inject, or recall for a cross-session snapshot)
and a producer name read out of the log — instruction paths for
workspace-instructions, session titles for session-reference, the plugin
id for a plugin source, and the bare kind for any other. No client-side
table of producer names, so a renamed or newly mounted producer stays
identifiable without a client release and a foreign log projects like a
live one. ContextInjectionRow titles itself from the role and shows the
name beside it; MessageItem captions durable and pending steering
bubbles.

The caption reverses one clause of the no-interjection-chrome decision,
which removed it because the composer could not steer; composer steering
shipped afterwards without amending that note, so this change supplies
the product decision its reintroduction clause required and corrects the
stale facts left in it.

Fixes #1291
2026-08-04 17:44:18 +08:00
xjt
2db712eec7 docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
imccyu
7f3ea406e1 Merge pull request #1389 from deepseek-harness/fix/UI-polish-pack
Fix/UI polish pack
2026-08-04 17:31:06 +08:00
Hypatia May
ea762e3962 test(sandbox): pin runner argv forms 2026-08-04 17:19:19 +08:00
imccyu
69d5a83b87 test(web): align snapshots with responsive chrome 2026-08-04 17:16:53 +08:00
Turtle
00d4349eb4 feat(client): surface pending session interactions 2026-08-04 17:15:10 +08:00
Hypatia May
c4e9893a87 test(sandbox): cover POSIX no-shebang fallback 2026-08-04 17:10:42 +08:00
imccyu
b0b50be64f style(connection): satisfy callback lint 2026-08-04 16:58:40 +08:00
Hypatia May
666690afe9 fix(sandbox): round 7 align spawn evidence 2026-08-04 16:55:11 +08:00
imccyu
3caa175286 test(connection): use valid mux frames 2026-08-04 16:49:06 +08:00
imccyu
7f3a2dae91 fix(web): quiesce websocket teardown 2026-08-04 16:42:50 +08:00
imccyu
c6d0cbd8de test(web): cover WebSocket downlink races 2026-08-04 16:34:56 +08:00
imccyu
72f82f65c9 Merge remote-tracking branch 'origin/master' into mergebot/pr1389
# Conflicts:
#	apps/web/tests/snapshots/sidebar-scrollbar/geometry.expected.md
#	packages/client/ui-conversation/src/client/chat/MessageIconActions.tsx
#	packages/client/ui-conversation/src/client/chat/message-chrome.ts
2026-08-04 16:33:55 +08:00
imccyu
11bad56fc3 Merge pull request #1396 from deepseek-harness/worktree/sidebar-scrollbar-reveal
feat(web): draw the sidebar's scrollbar only under the pointer
2026-08-04 16:31:56 +08:00
imccyu
98a24a395d docs: refresh third-party notices 2026-08-04 16:25:49 +08:00
imccyu
e9d76dae64 fix(web): address UI polish review feedback 2026-08-04 16:25:09 +08:00
imccyu
a36c641db6 chore(docs): refresh WebSocket API catalogs 2026-08-04 16:21:09 +08:00
Hypatia May
fe818862e1 fix(sandbox): round 6 bind spawn provenance 2026-08-04 16:20:04 +08:00
creatixchu
29646074cd Merge origin/master into worktree/sidebar-scrollbar-reveal 2026-08-04 16:19:46 +08:00
imccyu
828cb2ae20 Merge pull request #1345 from deepseek-harness/feat/turn-running-time
feat/turn-running-time
2026-08-04 16:11:32 +08:00
imccyu
8b4ddfe60c feat(web): move connection downlinks to WebSocket 2026-08-04 16:07:35 +08:00
Hypatia May
293fac9421 fix(sandbox): round 5 harden spawn attribution 2026-08-04 16:06:54 +08:00
imccyu
b9f4e46462 Merge remote-tracking branch 'origin/master' into mergebot/pr1389
# Conflicts:
#	packages/client/ui-workspace/src/client/WorkspaceBrowser.module.css
2026-08-04 16:06:38 +08:00
imccyu
3be257ba1d fix(web): preserve polish accessibility contracts 2026-08-04 16:04:26 +08:00
imccyu
ad03ccbd7a Merge branch 'master' into feat/turn-running-time 2026-08-04 16:03:31 +08:00
imccyu
b4a4f337e4 test(client): derive retry timing expectation 2026-08-04 16:02:19 +08:00
imccyu
cc435a9c0c fix(web): use exact turn boundaries for run time 2026-08-04 15:55:07 +08:00
CreatixChu
1be3a65857 Merge pull request #1057 from deepseek-harness/worktree/composer-caret-binding
fix(web): bind the composer's caret to its glyphs with one scrollport
2026-08-04 15:48:39 +08:00
creatixchu
86514f2921 Merge origin/master into worktree/sidebar-scrollbar-reveal
#1381 landed the bar's horizontal position; this branch decides when it is
drawn. The e2e keeps both scenarios and the golden carries both palettes'
pointer-state readings alongside the new edge-offset lines.
2026-08-04 15:46:53 +08:00
creatixchu
10ce8d8a45 fix(web): decide the sidebar's pointer leave by geometry, and tighten the gate
Review findings from the first round:

- ui-settings renders its full-viewport panel as a fixed-position DESCENDANT
  of the sidebar column, so `pointerleave` never fires when the pointer moves
  onto it and the bars stayed drawn after it closed. Leaving is now decided
  against the column's box from a document-level pointermove that exists only
  while the bars are drawn; the element's own leave stays for the pointer that
  leaves the window.
- The rebind gate judges the rule rather than each declaration, so a pair that
  mixes `transparent` with an l2 hover no longer passes, and the elevation
  half compares whole values instead of token shape.
- Hiding no longer exempts a sheet from the elevated-surface rebind check.
- The e2e polls the reveal before reading a colour for the golden, and pins
  that a pointerless scroll draws no thumb.
2026-08-04 15:42:39 +08:00
creatixchu
398ab58a69 Merge remote-tracking branch 'origin/master' into worktree/composer-caret-binding 2026-08-04 15:40:27 +08:00
imccyu
bcf595f41c Merge pull request #1370 from deepseek-harness/codex/fix-headless-sigint
fix(cli): bound telemetry shutdown and honor repeated signals
2026-08-04 15:38:11 +08:00