Commit Graph
8848 Commits
Author SHA1 Message Date
ZiyaZhang 047ea50987 feat(web): add preview badge to empty hero 2026-08-04 01:46:52 -07: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
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 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
fz eaf5b879c6 fix(docs): remove stale TUI source references 2026-08-04 15:25:30 +08:00
imccyu 2a828f09da Merge remote-tracking branch 'origin/master' into feat/turn-running-time 2026-08-04 15:22:28 +08:00
fz 193d918856 Merge remote-tracking branch 'origin/master' into codex/fix-headless-sigint
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/README.md
#	apps/cli/README.zh.md
#	apps/cli/config/base.cordis.yml
2026-08-04 15:18:48 +08:00
creatixchu ef2fbdfc19 fix(web): preserve focus when restoring drafts 2026-08-04 15:12:11 +08:00
creatixchu a030397aca feat(web): draw the sidebar's scrollbar only under the pointer
The session list overflows after a handful of sessions, and its scrollbar
was drawn permanently in a column that is at rest most of the time.

SidebarRoot now tracks the pointer over the whole column and rebinds
ui-theme's scrollbar indirection pair to `transparent` while it is
outside, keeping the thumb for 2s after the pointer leaves so it does not
blink out on the way past. Rebinding colour leaves the list's
`scrollbar-gutter: stable` reservation in force, so revealing the bar
moves no row.

ui-theme's gate now states the widened contract: a rebind targets an -l2
token pair or `transparent`, and nothing else.
2026-08-04 15:05:32 +08:00
_Kerman 099edf1f4b Merge pull request #1381 from deepseek-harness/xtr/sidebar-session-spacing
fix(web): tighten sidebar session spacing
2026-08-04 15:04:19 +08:00
_Kerman 369fad9faf fix(web): inset sidebar scrollbar by 2px 2026-08-04 14:56:30 +08:00
imccyu 9f33f1d652 Merge pull request #1391 from deepseek-harness/worktree-tsx-map
fix(client): correct sourcemap in devtools
2026-08-04 14:56:08 +08:00
imccyu 4af4c10075 Merge pull request #1161 from deepseek-harness/agent/reasoning-chunk-stress-test
perf(web): optimize reasoning chunk stress
2026-08-04 14:47:41 +08:00
creatixchu 4e024da35a Merge origin/master into worktree/composer-caret-binding 2026-08-04 14:44:09 +08:00
imccyu b9d768b6f2 fix(web): stabilize reasoning stream validation 2026-08-04 14:37:35 +08:00
imccyu 6f1d443c59 feat: optimize chat think 2026-08-04 14:37:35 +08:00
kingwl a44c8797b6 test(web): add opt-in reasoning chunk stress lane 2026-08-04 14:37:31 +08:00
Wenlu Wang 3c436d781e Merge pull request #1065 from deepseek-harness/codex/webui-complex-perf-case
fix(web): preserve reader intent in long conversations
2026-08-04 14:36:42 +08:00
imccyu 9c309dc03e docs(client): update plugin loading RFC 2026-08-04 14:36:31 +08:00
kingwl eb628f979b test(web): align long-chat contracts with master 2026-08-04 14:23:34 +08:00
kingwl e53dcd56c7 test(web): keep scroll fixture markers private 2026-08-04 14:23:34 +08:00
kingwl 9b91e5312c fix(web): narrow chat scroll provenance 2026-08-04 14:23:34 +08:00
kingwl 8de33e42f7 fix(web): preserve chat scroll ownership 2026-08-04 14:23:34 +08:00
kingwl bf6cb38fbc test(web): expand long-chat regression and performance coverage 2026-08-04 14:23:34 +08:00
kingwl 6514a59d5d fix(ui-conversation): preserve semantic chat scroll position 2026-08-04 14:23:34 +08:00
kingwl 1cc59ae78e test(web): split long conversation performance cases 2026-08-04 14:23:34 +08:00
kingwl 9784d6c932 test: register web performance entry 2026-08-04 14:23:34 +08:00
kingwl 7f0b8a7e87 test: measure live web streaming performance 2026-08-04 14:23:34 +08:00
kingwl a435aae538 test: add opt-in web performance scenario 2026-08-04 14:23:34 +08:00
imccyu 6c6d933732 fix(client): load plugin bundles as external scripts 2026-08-04 14:18:47 +08:00
_Kerman c1ac85c15f fix(web): keep sidebar scrollbar inside inset 2026-08-04 14:11:54 +08:00
_Kerman b57e29db59 fix(web): tighten sidebar session spacing 2026-08-04 14:11:54 +08:00
Turtle 64f9a83bd6 Merge pull request #1369 from deepseek-harness/codex/remove-dsh-tui-entrypoint
cleanup: remove TUI package and legacy dsh entrypoints
2026-08-04 14:11:37 +08:00
Turtle 4b591c0abc Merge pull request #1059 from deepseek-harness/perf/snapshot-file-parallelism
perf(test): run replay snapshot files in parallel
2026-08-04 13:49:57 +08:00
Turtle bc26a366dd test(acp-snapshot): cover the waitForEventAfterTurnEnd step
Success and timeout paths plus the before-newSession guard, restoring
per-file 100% on harness.ts.
2026-08-04 13:25:39 +08:00
Turtle 5fc420c5c0 test(acp-snapshot): wait for the durable goal pause before disposal
The goal scenario asserted a paused revision-2 goal, but the pause is
appended only after cancellation reaches idle — after turn/end. Under
parallel snapshot files the subprocess could dispose before the pause
record persisted, folding the log to an active revision-1 goal.

Add a waitForEventAfterTurnEnd input step (the turn-end/title waiters'
shape, parameterized by event type) and use it in the goal scenario to
hold the subprocess open until the goal-state record lands.
2026-08-04 13:25:39 +08:00
Turtle ecdcc218b6 perf(test): run replay snapshot files in parallel
The snapshot config serialized all 13 files for every mode, but the
fixture-writing rationale only holds for record (real API quota per
scenario) and refresh (write-back harvests volatile values from
fixtures on disk). Replay — the keyless default and the CI mode — is
read-only with a unique temp dir per scenario subprocess, and the
suite factory already runs replay scenarios concurrently in-file.

Narrow the serialization to non-replay modes: pnpm test:snapshot drops
from ~49s to ~33s wall; record/refresh stay fully serial.
2026-08-04 13:25:28 +08:00
Turtle 10bb9cbf4a cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
Chinesezjc 3a060c5688 Merge pull request #1175 from deepseek-harness/fix/web-sources-scroll
fix(client-web): scroll the web_search source card instead of collapsing
2026-08-04 13:20:16 +08:00
Chinesezjc c67c89911e Merge origin/fix/web-sources-scroll 2026-08-04 13:13:41 +08:00
Chinesezjc 6601738e32 Merge origin/master into fix/web-sources-scroll 2026-08-04 13:11:40 +08:00
Turtle 7248b5ec8f Merge pull request #1376 from deepseek-harness/codex/node26-zstd-compat
fix(jsonl): recover truncated zstd frames on Node 26
2026-08-04 12:43:29 +08:00