creatixchu
07448093c5
fix(web): drop the redundant second mirror
...
The first version coupled the layers from two places: a `scroll` listener
and a layout effect keyed on the committed draft. Mutation-testing each
hook alone against the built client shows the effect never fires the only
assignment that matters — with just the layout effect disabled the browser
scenario stays green, while disabling just the listener fails it.
Both premises behind the effect were wrong. Typing scrolls the caret into
view, which is an ordinary `scroll`. A draft that shrinks past the current
offset clamps both layers to the same maximum, because their extents are
equal — measured in chromium at 964/964, 1012/1012, 844/844 and 820/820 for
plain, soft-wrapped, unbreakable-run and highlighted drafts — and the
textarea's clamp fires `scroll` too.
The hazard the effect was imagined to cover does not exist either: React
replacing every child of the backdrop when the decoration set changes shape
preserves `scrollTop` (measured: 300 stays 300 through a full child
replacement), and the only replacement that zeroes it shrinks the content
below the offset, which is the clamp case already covered.
The e2e's edit case survives, retitled to say what it actually pins: that
typing is not a separate case needing its own mirror. The unit spec now
asserts the backdrop tracks a second move back to the top, which a one-shot
mirror would fail.
2026-07-31 12:02:38 +08:00
creatixchu
a7b7066267
fix(web): scroll the composer's glyph layer with its textarea
...
A composer draft past the 14-line cap could not be scrolled: the caret and
the selection moved, but the words stayed frozen at line 1, so the tail of
anything longer than the cap was unreachable while writing it.
The composer paints its text in two stacked layers. The textarea owns the
value, the selection and the caret but renders its own glyphs transparent;
every visible character is painted by the decoration backdrop beneath it,
which also carries the claim-token highlight, the chips and the ghost hint.
The backdrop is `inset: 0; overflow: hidden` — clipped, not scrolled — and
nothing linked its offset to the textarea's. Below the cap both layers rest
at 0, which is why the defect hid behind every short-draft screenshot and
fixture.
InputBar now mirrors the textarea's scrollTop onto the backdrop, from a
`scroll` listener (every gesture and every caret-driven scroll) and from a
layout effect keyed on the committed draft (an edit reflows both layers
without necessarily firing a scroll event).
Scrolling is layout, so jsdom cannot show this: the unit spec stubs both
offsets and proves the mirroring paths run, while a new browser scenario
measures the user-visible fact against the built client with a DOM Range
over the backdrop's own text — after a wheel gesture over a 40-line draft
the last line is on screen and the first has scrolled out. Confirmed both
directions: with the mirroring reverted and the packages rebuilt, the
golden reads `last draft line is on screen: false` while `textarea moved:
true`.
2026-07-31 11:53:04 +08:00
Tianyi Cui
a632934ad7
Merge branch 'master' into worktree/pr884-simplify
2026-07-31 11:19:00 +08:00
imccyu
9525cc9db2
Merge pull request #1005 from deepseek-harness/codex/new-task
...
Open command menu from composer plus button
2026-07-31 11:12:26 +08:00
Tianyi Cui
e9096c891c
Merge latest master into worktree/pr884-simplify
2026-07-31 11:00:07 +08:00
imccyu
c0733ba46b
Merge branch 'master' into fix/nodeboot-dep
2026-07-31 10:34:07 +08:00
imccyu
f850676785
Merge pull request #711 from deepseek-harness/codex/basic-session-search
...
Add basic past-session search
2026-07-31 10:33:53 +08:00
Turtle
1332360d53
Merge pull request #1013 from deepseek-harness/fix/node26-vitest-webstorage
...
fix(test): isolate jsdom storage on Node 26
2026-07-31 10:31:59 +08:00
Turtle
aa39d6c6ed
Merge remote-tracking branch 'origin/master' into fix/node26-vitest-webstorage
...
# Conflicts:
# scripts/run-gates.spec.ts
# vitest.config.ts
2026-07-31 10:26:05 +08:00
imccyu
d6da16b7f3
Merge branch 'master' into codex/basic-session-search
2026-07-31 10:23:52 +08:00
imccyu
ce57438ac0
Merge branch 'master' into codex/new-task
2026-07-31 10:23:14 +08:00
imccyu
59ce4086ae
Merge remote-tracking branch 'origin/master' into mergebot/pr711
...
# Conflicts:
# packages/client/ui-workspace/src/client/WorkspaceBrowser.tsx
# packages/client/ui-workspace/src/client/index.ts
# packages/client/ui-workspace/src/client/rows/Rows.tsx
# packages/client/ui-workspace/src/client/tree.ts
# packages/client/ui-workspace/tests/apply.spec.ts
# packages/client/ui-workspace/tests/rows.spec.tsx
# packages/client/ui-workspace/tests/tree.spec.ts
# packages/client/ui-workspace/tests/workspace-browser.spec.tsx
2026-07-31 04:37:08 +08:00
imccyu
9433259f05
Merge remote-tracking branch 'origin/master' into mergebot/pr1005
...
# Conflicts:
# docs/module-graph.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/tests/input-bar.spec.tsx
# packages/client/ui-conversation/tests/input-matrix.spec.tsx
# packages/client/ui-plan/README.i18n.yaml
# packages/client/ui-plan/README.md
# packages/client/ui-plan/README.zh.md
# packages/client/ui-plan/src/client/PlanModeControl.tsx
# packages/client/ui-plan/src/client/index.ts
# packages/client/ui-plan/tests/browser-plugin.spec.ts
# packages/client/ui-plan/tests/plan-mode-control.spec.tsx
2026-07-31 03:47:24 +08:00
imccyu
05d73d6571
fix(app-boot): await only failed activation fibers
2026-07-31 03:20:20 +08:00
imccyu
c92a6c3b76
fix(app-boot): preserve published loader composition
2026-07-31 03:20:20 +08:00
imccyu
a691e2ab16
fix: preserve plugin activation errors
2026-07-31 03:20:20 +08:00
imccyu
890e6daa22
test: normalize client module fixture paths
2026-07-31 03:02:45 +08:00
imccyu
296cb1c35f
fix: app-boot report plugin error detail
2026-07-31 03:02:45 +08:00
imccyu
4517aa349c
fix: client module loader report package resolve info
2026-07-31 03:02:45 +08:00
imccyu
810b45a377
Merge remote-tracking branch 'origin/master' into mergebot/pr1008
...
# Conflicts:
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/GenericToolCard.tsx
# packages/client/ui-conversation/src/client/chat/ToolRow.tsx
# packages/client/ui-conversation/src/client/contract/terminal-card-model.ts
# packages/client/ui-conversation/src/client/skeleton/DetailsPanel.tsx
# packages/client/ui-conversation/src/client/toolviews/ask-question-row.tsx
# packages/client/ui-conversation/src/client/toolviews/bash-sample.tsx
# packages/client/ui-conversation/src/client/toolviews/todo-row.tsx
# packages/client/ui-conversation/tests/chat-tool-row.spec.tsx
# packages/client/ui-conversation/tests/terminal-card.spec.tsx
# packages/client/ui-trajectory/tests/client-bundle.spec.ts
2026-07-31 03:00:08 +08:00
imccyu
7730ffad4e
test(web): refresh plan-review and seeded-history goldens after master merge
2026-07-31 02:45:22 +08:00
imccyu
1e10966ef6
wip
...
fix: docs
2026-07-31 02:13:53 +08:00
imccyu
2e034bbbd3
Merge remote-tracking branch 'origin/master' into mergebot/pr711
...
# Conflicts:
# apps/cli/README.i18n.yaml
# docs/module-graph.md
# packages/client/connection/README.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
2026-07-31 02:02:47 +08:00
imccyu
4e7e99d748
Merge remote-tracking branch 'origin/master' into mergebot/pr1005
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 01:58:09 +08:00
Tianyi Cui
023a9aee9d
Merge origin/master into worktree/pr1006-merge-20260731
2026-07-31 01:56:19 +08:00
Tianyi Cui
464a57d3ca
Merge commit 'refs/codex/pr1006/master' into worktree/pr1006-merge-20260731
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/headless-agent/cordis.yml
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/README.md
# packages/llm/llm-deepseek/README.zh.md
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-deepseek/src/index.ts
# packages/llm/llm-deepseek/tests/adapter.spec.ts
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.md
# packages/llm/llm/README.zh.md
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/ui/jsonrpc/README.i18n.yaml
2026-07-31 01:55:19 +08:00
imccyu
47dafc28bc
Merge pull request #957 from deepseek-harness/worktree-guiopentelemetry
...
Wire session telemetry (OTel) into the dsh web composition
2026-07-31 01:49:38 +08:00
imccyu
faaed56719
fix: node-addon bump version
2026-07-31 01:34:43 +08:00
Tianyi Cui
a9e2489db8
fix(llm): keep request generations coherent
2026-07-31 01:30:29 +08:00
Tianyi Cui
cc119e39a6
Merge master into fix/turn-actions
2026-07-31 01:29:03 +08:00
imccyu
ecbd8babc1
Merge remote-tracking branch 'origin/master' into mergebot/pr711
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/README.md
# apps/cli/README.zh.md
# apps/cli/cordis.yml
# apps/cli/package.json
# docs/config-catalog.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/contract/sessions.ts
# packages/client/test-runtime/src/sessions.ts
# packages/client/ui-workspace/README.i18n.yaml
# packages/client/ui-workspace/README.md
# packages/client/ui-workspace/README.zh.md
# packages/client/ui-workspace/src/client/WorkspaceBrowser.tsx
# packages/client/ui-workspace/src/client/tree.ts
# packages/client/ui-workspace/tests/apply.spec.ts
# packages/client/ui-workspace/tests/tree.spec.ts
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/tests/client-handler.spec.ts
# packages/host/apiproxy/tests/rpc-schemas.spec.ts
# pnpm-lock.yaml
2026-07-31 01:28:15 +08:00
Tianyi Cui
145a5eb9da
Merge master into fix/turn-actions
2026-07-31 01:27:56 +08:00
Tianyi Cui
afb05b4049
fix(settings-local): never steal writer locks
2026-07-31 01:27:46 +08:00
Tianyi Cui
f9f8148e79
refactor(credentials,llm): remove speculative mutation and route lifecycle
2026-07-31 01:27:46 +08:00
imccyu
5d29a8aff3
Merge remote-tracking branch 'origin/master' into mergebot/pr1008
...
# Conflicts:
# examples/web-cordis/cordis.yml
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/chat/ToolRow.module.css
# packages/client/ui-conversation/src/client/chat/ToolRow.tsx
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
# packages/client/ui-conversation/tests/chat-view.spec.tsx
2026-07-31 01:16:34 +08:00
Yichen Jiang
aa888d1c4a
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-31 01:10:16 +08:00
Yichen Jiang
c71af0f3bb
Merge latest master into worktree-llm-web-config
2026-07-31 01:09:50 +08:00
imccyu
b6917b6e62
Merge pull request #981 from deepseek-harness/worktree/command-row-copy
...
feat(ui): drop the slash and the argument echo from the command row
2026-07-31 01:09:06 +08:00
Yichen Jiang
11ffab7400
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-31 01:06:55 +08:00
Yichen Jiang
a37a90548a
Merge latest master into worktree-llm-web-config
2026-07-31 01:06:28 +08:00
Tianyi Cui
26ef1b7e6c
Merge commit '557cff8871e86a7a9be85c2ee2d8225db8b439fe' into worktree/pr977-merge-20260731
2026-07-31 00:52:43 +08:00
imccyu
a3ddc90df6
Merge branch 'master' into worktree/command-row-copy
2026-07-31 00:50:47 +08:00
Yichen Jiang
15636fbb8e
fix(web): skip unavailable DeepSeek onboarding modal
2026-07-31 00:44:24 +08:00
imccyu
5099f72ea0
Merge branch 'master' into worktree/command-row-copy
2026-07-31 00:41:04 +08:00
Yichen Jiang
c580b1b634
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-31 00:32:59 +08:00
Tianyi Cui
dc0c52bb03
Merge commit 'aab64371402d93293bde384139aaa607906928a8' into worktree/pr977-merge-20260731
2026-07-31 00:32:10 +08:00
Yichen Jiang
e8c550d0e5
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
2026-07-31 00:31:42 +08:00
Yichen Jiang
f64026d7e3
Merge latest master into worktree-llm-dynamic-config
2026-07-31 00:31:06 +08:00
Yichen Jiang
52c997d01d
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-31 00:22:45 +08:00
imccyu
e4e78e7a31
Merge remote-tracking branch 'origin/master' into mergebot/pr981
2026-07-31 00:22:36 +08:00