Commit Graph
104 Commits
Author SHA1 Message Date
Yichen Jiang 11d6bd05f3 feat(web): preview file and skill references in the sidebar 2026-09-10 11:31:27 +08:00
Yichen Jiang 0729dbec66 feat(llm): restore V4 Flash Vision Exp catalog entry 2026-09-10 03:39:57 +08:00
Yichen Jiang 441385fe38 feat(llm): retain V4 models alongside V41 Flash 2026-09-10 03:39:57 +08:00
Yichen Jiang bc5fd3b8dc feat(llm): default Chat Completions to DeepSeek V41 Flash 2026-09-10 03:39:56 +08:00
Tianyi Cui 58956c1a8a Revert "feat(web): preview Mermaid, Graphviz, SVG, and HTML code fences" 2026-09-09 22:01:10 +08:00
Yudong 7aa73877e6 Merge origin/master into feat/mermaid-preview 2026-09-09 19:53:42 +08:00
yudshj 4e0a405a9b fix(web): size diagram previews to image content 2026-09-09 18:01:36 +08:00
creatixchu 7f69a3ec37 fix(web): complete shared file icon consumers and browser checks 2026-09-09 18:01:04 +08:00
yudshj a8f9d81f3a feat(client): preview Graphviz, SVG, and HTML Markdown fences 2026-09-09 17:39:04 +08:00
fz 4fabbd39c5 test(web): scope Mermaid snapshots to diagram content 2026-09-09 17:39:04 +08:00
fz fc0c885287 style(ui): simplify Mermaid preview controls 2026-09-09 17:39:04 +08:00
fz ee35e40bc8 feat(ui): preview Mermaid diagrams in Chat code blocks 2026-09-09 17:39:04 +08:00
Turtle 6d99a8a53a Merge pull request #3794 from deepseek-harness/turtle/issue-3761-plugin-instance-label
fix(web): distinguish same-package plugin instances
2026-09-09 16:29:54 +08:00
Turtle 2b631c0646 test(web): update plugin settings golden order 2026-09-09 15:27:18 +08:00
Yudong Han ba5ce5700c Merge pull request #3832 from deepseek-harness/fix/file-delivery-present
fix(deliverables): distinguish file changes and require explicit delivery
2026-09-09 14:53:17 +08:00
creatixchu 0f1164cdee fix(web): hide composer placeholder for whitespace drafts 2026-09-09 13:56:54 +08:00
yudshj 152e0f42ca fix(web): await settled browser state and shorten file-change label 2026-09-09 13:41:56 +08:00
yudshj 7a0afea27f fix(deliverables): distinguish file changes and require explicit delivery 2026-09-09 13:41:56 +08:00
Turtle fac33d7ba7 Merge pull request #3791 from deepseek-harness/turtle/issue-3760-zh-display-model-copy
fix(web): localize Chinese display and model copy
2026-09-09 13:36:09 +08:00
Yif 284758cbc3 test(web): refresh goldens for the sidebar aria renames
The expand/collapse and wrap toggles' accessible names diverged from their
tooltips, and the replay harness now normalizes clientTimeZone in recorded
sessions; every golden holding the old names or the literal zone refreshes.
2026-09-09 12:15:00 +08:00
Yif e94241f601 feat(web): move the session-log control into the header more-actions menu 2026-09-09 12:14:58 +08:00
Turtle 9606b69545 Merge origin/master into turtle/issue-3760-zh-display-model-copy 2026-09-09 11:02:57 +08:00
Yichen Jiang d80891921b Merge remote-tracking branch 'origin/master' into worktree/pi-ai-settings-recovery
# Conflicts:
#	packages/llm/llm/README.i18n.yaml
#	packages/llm/llm/README.md
#	packages/llm/llm/README.zh.md
2026-09-09 06:18:13 +08:00
fz 94ff82f57b Merge origin/master into feat/remove-str-replace-editor-from-minimal 2026-09-08 23:22:25 +08:00
Turtle c2a5540ddb fix(web): distinguish plugin configuration instances 2026-09-08 21:05:37 +08:00
Turtle 555c04bdfc fix(web): localize Chinese model copy 2026-09-08 21:05:31 +08:00
Yichen Jiang dad135dd41 Merge remote-tracking branch 'origin/master' into worktree/pi-ai-settings-recovery 2026-09-08 15:42:25 +08:00
_Kerman 3f1f7da7c3 Merge origin/master into fix/session-prose-local-media-display 2026-09-08 14:25:21 +08:00
fz 61cd1a3f91 Merge origin/master into feat/remove-str-replace-editor-from-minimal 2026-09-08 13:51:47 +08:00
Yichen Jiang da313e4fdc fix(llm-pi-ai): preserve actionable model diagnostics 2026-09-08 13:35:09 +08:00
mektpoy 0dc6ce26d7 Merge remote-tracking branch 'upstream/master' into issue-1424-goal-resume-activation 2026-09-08 12:48:51 +08:00
_Kerman 88ab8e9133 fix(ui): show authored text when markdown images fail 2026-09-08 12:06:43 +08:00
lsdsjy 28d478a80d Merge pull request #3681 from deepseek-harness/fix/busy-send-button-follows-setting
fix(web): make the running Send button follow the busy-Enter setting
2026-09-08 11:35:25 +08:00
mektpoy 514f92ba53 Merge remote-tracking branch 'upstream/master' into issue-1424-goal-resume-activation
# Conflicts:
#	packages/goal/goal/tests/projection.spec.ts
2026-09-08 11:23:08 +08:00
Yichen Jiang 642b538fe0 Merge remote-tracking branch 'origin/master' into worktree/pi-ai-settings-recovery 2026-09-08 10:34:14 +08:00
Yichen Jiang fe03b0686d fix(llm-pi-ai): keep catalog-invalid settings repairable 2026-09-08 10:28:45 +08:00
Yif 256afa848c Merge remote-tracking branch 'origin/master' into fix/input-placeholder-stat-ui-polish
# Conflicts:
#	packages/client/ui-chat/src/client/locale.ts
#	packages/client/ui-chat/tests/gate-branch-tails.client.spec.tsx
2026-09-08 00:45:29 +08:00
Yif 2c45dfe71e fix(client): address review — pill accessible names, static untimed pill, exclusive stat dialogs
StatsPills buttons carry explicit aria-labels separating segments with
' · '; a log with no timed figure renders the counts pill as a static
reading instead of a button opening an empty dialog; the pills row owns
one exclusive open slot so sibling dialogs never stack. ContextMeter
restores the '~' approximation prefix (usedTokens prefers heuristic
projectedTokens). ModelSelect's jscpd:ignore now names the real gap
(useAnchoredPosition places from the left edge only). The pills Agent
Note's stale facts (locale keys, context occupancy, golden ownership)
are rewritten in place, en+zh. plan-review.e2e.ts parks the pointer
after Approve so the ContextMeter tooltip cannot leak into the aria
captures; affected goldens refreshed.
2026-09-08 00:35:04 +08:00
Yif e939a482e9 Merge origin/master: reconcile placeholder rewording with steer-all and note archival
Master archived three Agent Notes this branch had fact-updated (archived
copies restored to their frozen master content; the pills note now links
the archived path), extended the steer-all placeholder to continuable
children (spec and subagent e2e take master's behavior with this branch's
reworded copy), and dropped the session-sharing sentence from feedback
acks (goldens re-refreshed with the new placeholder).
2026-09-07 22:01:06 +08:00
imccyu fe5aee7e71 test(web): cover Sidebar interactions and refresh recorded UI expectations 2026-09-07 21:29:42 +08:00
Yif 3997f36999 feat(client): replace the stats strip with two icon pills and click-open stat dialogs
The A/B winner over the single-line StatsLine: a gauge pill (counts + TPS,
opening the session-stats dialog) and a database pill (billed total +
cache-hit share, opening the exact token-usage dialog), sharing a new
stat-dialog module. StatsLine and its dead locale keys are deleted, the
gauge icon is optically centered, and the composer keeps its 4px clearance
through the data-composer-stats contract. Agent Note added; stale
StatsLine references across implemented notes updated in place.
2026-09-07 20:59:19 +08:00
fz 71a291cbc4 Merge origin/master into feat/remove-str-replace-editor-from-minimal 2026-09-07 19:28:12 +08:00
lsdsjy 9a5ed6fb60 fix(web): make the running Send button follow the busy-Enter setting
The ui-conversation.busyEnter setting selected Queue or Steer for plain
Enter only; the running draft's Send button always submitted through the
public InputActions.submit() face, which is fixed to Queue, while labeled
"Send message". A user who chose Steer got Steer from Enter and Queue
from the button beside the same draft with nothing explaining why.

InputBar now resolves the primary click through the same `enter` gesture
and steer-availability predicate as the keyboard path (ordinary Sessions
and continuable children) and submits via ComposerKeyboard.submit(mode).
While that delivery is available the button's tooltip and accessible name
state it ("Queue message" / "Steer message"; 排队发送 / 插话发送), so the
mode is never hidden; idle sessions, one-shot children, and locked
composers keep the plain Send label. The composer bar inject face
publishes the live preference as hooks.busyEnter instead of a resolver
closure, and resolveSubmitMode is a pure function taking the preference
explicitly, so label and delivery derive from one value in one render and
the label follows live Settings changes. The Settings row is retitled
"Send behavior while busy" with a description that names both Enter and
the button; the busyEnter field, its default, and the Host schema are
unchanged.

Tests pin both preferences on the running button for ordinary sessions
and continuable children, the live relabel, the idle Queue path, and the
pure resolver; the settings-chrome ARIA goldens and the live-interactions
running-draft and queue-actions failed goldens carry the new copy. A new
Agent Note owns the decision and reverses the pointer-ignores-preference
clause of the archived 2026-08-20 running-draft note.
2026-09-07 19:14:21 +08:00
mektpoy ab62273984 Merge remote-tracking branch 'upstream/master' into issue-1424-goal-resume-activation 2026-09-07 11:37:52 +08:00
imccyu 46196d6f95 perf(session-format): stream released v0-to-v2 migrations 2026-09-06 02:05:27 +08:00
fz 40539e9002 Merge origin/master into feat/remove-str-replace-editor-from-minimal 2026-09-06 00:58:49 +08:00
Yif fd1e51b097 test(web): refresh master-added goldens for the reworded placeholder
file-upload-round and the clickable-links gallery were recorded on master with
the pre-rewording composer placeholder.
2026-09-04 20:25:04 +08:00
Yif 78258bf6fd Merge remote-tracking branch 'origin/master' into fix/input-placeholder-stat-ui-polish 2026-09-04 20:24:04 +08:00
Yif a49376a2ca fix(client): reword composer placeholders around the / and @ triggers
The default and hero placeholders drop the ellipsis and name the / commands
and @ references as comma-separated actions; goldens and e2e assertions
refresh with the copy.
2026-09-04 20:21:46 +08:00
mektpoy 588be2d3c5 test(web): refresh clickable links after upload merge 2026-09-04 16:45:11 +08:00