Commit graph

1956 commits

Author SHA1 Message Date
_Kerman
bf83f0889b Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 11:40:56 +08:00
Yichen Jiang
d2a4a95a85 Merge pull request #2852 from deepseek-harness/worktree/web-textarea-refactor-991614
refactor(web): rebuild the composer on Lexical with atomic reference chips
2026-08-26 11:24:22 +08:00
_Kerman
6a311f0638 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 11:17:50 +08:00
fengsy
194facabdb fix(team): authenticate browser panel snapshot 2026-08-26 10:56:57 +08:00
fengsy
eadd5df82b fix(team): preserve current Client architecture after rebase 2026-08-26 10:56:57 +08:00
Dudu-0223
80e033efe5 fix(team): address Agent Teams Web review 2026-08-26 10:56:57 +08:00
Dudu-0223
61dea35bd2 refactor: let Team own browser remotes 2026-08-26 10:56:57 +08:00
Dudu-0223
806642b064 feat(team): add experimental Agent Teams Web profile 2026-08-26 10:56:57 +08:00
_Kerman
d3dd816d67 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731
# Conflicts:
#	packages/util/brand/README.i18n.yaml
#	packages/util/brand/README.md
#	packages/util/brand/README.zh.md
2026-08-26 10:35:38 +08:00
Yichen Jiang
2f157dbd76 Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
# Conflicts:
#	packages/client/ui-chat/src/client/chat/MessageItem.module.css
#	packages/client/ui-conversation/package.json
#	packages/client/ui-input-trigger/README.i18n.yaml
#	packages/client/ui-input-trigger/README.md
#	packages/client/ui-input-trigger/README.zh.md
#	packages/client/ui-reference/README.i18n.yaml
#	packages/client/ui-reference/README.md
#	packages/client/ui-reference/README.zh.md
#	pnpm-lock.yaml
2026-08-26 10:10:09 +08:00
Yichen Jiang
f47b18d2f6 Merge remote-tracking branch 'origin/master' into worktree/session-turn-nav-styling-7715ae
# Conflicts:
#	packages/client/ui-chat/README.i18n.yaml
#	packages/client/ui-chat/README.md
#	packages/client/ui-chat/README.zh.md
2026-08-26 10:05:44 +08:00
fengsy
1477d5b9ef fix(profile): preserve current fallback architecture after rebase 2026-08-26 00:15:18 +08:00
07akioni
79fd46b98e Merge pull request #3025 from deepseek-harness/ihsiangzhang/content-width-font-size
feat(ui): adaptive content width and settings font-size control
2026-08-25 21:54:15 +08:00
_Kerman
248d22f2c6 Merge remote-tracking branch 'origin/master' into xtr/message-tool-call-id 2026-08-25 21:44:26 +08:00
ihsiang
be994a9270 Merge branch 'master' into ihsiangzhang/content-width-font-size 2026-08-25 21:27:28 +08:00
_Kerman
cef391487a Merge remote-tracking branch 'origin/master' into xtr/projection-per-session-cache 2026-08-25 21:23:28 +08:00
Yichen Jiang
a91fa3ddbc test(web): stabilize minimal Bash card snapshot 2026-08-25 21:05:01 +08:00
Yichen Jiang
9b6729d505 fix(web): expand persistent Bash result cards 2026-08-25 21:05:01 +08:00
_Kerman
741083f03b Merge remote-tracking branch 'origin/master' into xtr/projection-per-session-cache 2026-08-25 20:54:08 +08:00
yx.zhang
5720917ea7 polish(ui): trim the width handle and describe the font-size scope
Drop the width handle's double-click reset and tooltip — the handle is now
drag-only and a stored preference is only replaced by another drag — and
add a tertiary description line under the Settings font-size title stating
the size only affects conversation content. Update both Agent Notes and
the settings dialog goldens.
2026-08-25 20:44:07 +08:00
ihsiang
6d6f8f044c feat(ui): adaptive content width and font-size control
Add conversation adaptive content width and a Settings font-size control,
with theme presenter, font-size row, snapshots, tests, and agent notes.
2026-08-25 20:42:03 +08:00
_Kerman
f436c888aa Merge remote-tracking branch 'origin/master' into xtr/message-tool-call-id 2026-08-25 20:24:54 +08:00
imccyu
1ec75c9082 perf(history): retain packed records in client 2026-08-25 20:13:54 +08:00
kingwl
3511796fa6 test(web): await completed turn footers 2026-08-25 20:10:43 +08:00
kingwl
f2ca913756 perf(history): carry packed assistant chunks 2026-08-25 20:10:42 +08:00
_Kerman
3f34c026e3 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2781 2026-08-25 20:04:32 +08:00
Yichen Jiang
effbffbff1 test(web): drive the streaming-fence prompt through the composer surface
The scenario landed on master with a textarea locator; the composer is a
Lexical contenteditable surface here, so the fill waited 30s for a node
that never exists. Use the shared per-key draft helper against
[data-composer-input] like the other composer scenarios.
2026-08-25 19:55:45 +08:00
Yichen Jiang
e177571236 Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
# Conflicts:
#	.agents/notes/archived/manifest.json
#	apps/web/tests/reference-composer.e2e.ts
#	pnpm-lock.yaml
2026-08-25 19:35:55 +08:00
Yichen Jiang
47067a8ad2 Merge remote-tracking branch 'origin/master' into worktree/session-turn-nav-styling-7715ae
# Conflicts:
#	packages/client/ui-chat/README.i18n.yaml
#	packages/client/ui-chat/README.md
#	packages/client/ui-chat/README.zh.md
#	snapshots/web/cordis-tool-round/ui.expected.md
#	snapshots/web/message-actions/ui.expected.md
#	snapshots/web/seeded-history/command-row.expected.md
#	snapshots/web/seeded-history/feedback-row.expected.md
#	snapshots/web/seeded-history/ui.expected.md
#	snapshots/web/subagent-conversation/ui.expected.md
2026-08-25 19:32:16 +08:00
Ziya
b565df3442 feat(web): show exact per-turn token usage (#3005)
* feat(web): show exact per-turn token usage

* test(runtime): refresh exact token usage snapshots

* refactor(token-meter): own per-turn usage folding

* perf(ui-chat): bound paging anchor layout reads

* test(web): align usage golden with system prompt row

* fix(test): resolve token-meter client from source

* test(token-meter): cover retry without usage

---------

Co-authored-by: ZiyaZhang <199893125+ZiyaZhang@users.noreply.github.com>
2026-08-25 19:05:52 +08:00
Dudu-0223
b68f36a1ca test(web): authenticate folding snapshot 2026-08-25 17:20:06 +08:00
Dudu-0223
2abd486f8f Merge remote-tracking branch 'origin/master' into fix/web-fetch-ssrf 2026-08-25 17:07:57 +08:00
lsdsjy
fd0ed9fed4 Merge pull request #2845 from deepseek-harness/fix/workspace-new-session-fold-quota
fix(ui-workspace): keep blank new sessions outside the fold quota
2026-08-25 16:57:41 +08:00
Dudu-0223
44468d4583 Merge remote-tracking branch 'origin/master' into fix/web-fetch-ssrf 2026-08-25 15:53:46 +08:00
Yichen Jiang
1272c7d0df perf(web): accumulate the Turn rail instead of scanning the loaded window
The rail's items now ride the Chat snapshot: a structural upsert re-derives
the loaded Turn set, a content-only upsert re-derives only the Turns whose
nodes changed, and each preview is capped so navigation state never holds a
copy of the transcript. The published array keeps its identity until an item
changes, so ChatView selects it as both data and change signal — and a
streaming reply's preview follows the in-place node update instead of the
last structural publication.

A scroll frame resolves the active mark with one hit test at the reading
line, falling back to a single row scan, rather than a DOM query per mark.
Flow-height changes resync through the existing column observer, navigating
during a pending page keeps the paging anchor, and the rail height no longer
holds a floor taller than the band it centers in.
2026-08-25 14:46:38 +08:00
Dudu-0223
8e681a66b9 Merge origin/master into fix/web-fetch-ssrf 2026-08-25 14:46:26 +08:00
_Kerman
38355623a2 Merge remote-tracking branch 'origin/master' into xtr/projection-per-session-cache
# Conflicts:
#	packages/bundle/web-app/README.i18n.yaml
#	packages/bundle/web-app/README.md
#	packages/bundle/web-app/README.zh.md
2026-08-25 14:45:03 +08:00
07akioni
61b65d3147 fix(web): show system prompts in chat
Render reconstructable system prompts at each request-series boundary, preserve series declarations through pre-step wrappers, and keep the presentation and replay snapshots aligned across clients.
2026-08-25 14:44:08 +08:00
_Kerman
804db36546 Merge remote-tracking branch 'origin/master' into xtr/message-tool-call-id 2026-08-25 14:42:35 +08:00
Dudu-0223
aaf0924b48 Merge origin/master into fix/web-fetch-ssrf 2026-08-25 14:40:51 +08:00
_Kerman
b588675ccf Merge remote-tracking branch 'origin/master' into xtr/projection-per-session-cache
# Conflicts:
#	pnpm-lock.yaml
2026-08-25 14:40:22 +08:00
_Kerman
9365ef496d Merge remote-tracking branch 'origin/master' into xtr/message-tool-call-id
# Conflicts:
#	packages/acp/acp/tests/approval.spec.ts
#	packages/acp/acp/tests/edges.spec.ts
#	packages/api/session-controller/tests/event-script.client.ts
#	packages/client/connection/src/client/fixture.ts
#	packages/client/ui-conversation/src/client/contract/slots.ts
#	packages/client/ui-conversation/src/client/contract/views.ts
#	packages/client/ui-conversation/src/client/index.ts
#	packages/client/ui-conversation/src/client/stores.ts
#	packages/core/agent-loop/tests/loop.spec.ts
#	packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
#	packages/extensions/tool-cordis/src/api-catalog.ts
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/host/apiproxy/src/api/events.ts
#	packages/host/apiproxy/tests/api-proxy-view.spec.ts
#	packages/interaction/user-approval/src/index.ts
#	packages/llm/llm-deepseek/tests/adapter.e2e.ts
#	packages/llm/llm-pi-ai/src/context.ts
#	packages/llm/llm-pi-ai/tests/context.spec.ts
#	packages/llm/llm/tests/content.spec.ts
#	packages/subagent/subagent/tests/continuation.spec.ts
#	packages/subagent/tool-subagent/tests/tool-subagent.spec.ts
#	packages/test-support/llm-replay/tests/llm-replay.spec.ts
#	packages/todo/tool-todo/tests/tool-todo.spec.ts
#	scripts/gen-persistence-catalog.ts
2026-08-25 14:37:44 +08:00
lsdsjy
9d25fbf218 fix(ui-workspace): keep blank new sessions outside the fold quota
Keep five non-blank rows stable while the selected blank New Session is provisional, and derive the overflow count from the rows still hidden.

Fixes #2841
2026-08-25 14:36:56 +08:00
Yichen Jiang
ba84299c98 test(web): record the Turn rail in every affected aria golden
The rail is a landmark on every Chat wide enough to show it, so each
recorded conversation with at least two loaded Turns now carries the
navigation node and its marks.
2026-08-25 14:26:10 +08:00
Tianyi Cui
4de11c0229 test(web): authenticate streaming fence scaffold 2026-08-25 14:23:47 +08:00
Tianyi Cui
ce031ddd16 fix(web): cover authenticated host runtimes 2026-08-25 14:23:46 +08:00
Tianyi Cui
3e24087bfa fix(web): authenticate the browser Host API 2026-08-25 14:23:45 +08:00
Yichen Jiang
d38ff54150 feat(web): navigate loaded Chat Turns from a compact rail
ChatView derives one navigation mark per currently loaded Turn, keyed by
Turn number and anchored on that Turn's first loaded user node. The rail
sits against the scrollport's right edge, centered in the band the sticky
composer leaves visible; hover and keyboard focus preview the Turn's
prompt and response, and activating a mark moves the shared scrollport
and records the resulting restoration anchor.

ConversationRoot publishes --dsh-conversation-viewport-height beside the
composer height it already measures on the scrollport, so floating View
chrome can center in that band without assuming a Session header height.
2026-08-25 14:02:57 +08:00
07akioni
1825cb4657 feat(client): highlight streaming fences incrementally
Keep recognized code fences syntax-highlighted while assistant text streams. Preserve completed Shiki token lines across chunks, mirror token styles and CRLF handling, and retain plain rendering for unsupported or math-like fences.

Add unit, DOM-parity, and keyless assembled-Web coverage for the streaming-to-settled transition.

Closes #1499
2026-08-25 12:59:21 +08:00
_Kerman
e62d6d3d15 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2781 2026-08-25 12:49:32 +08:00