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
ZiyaZhang
45e5317ecd
fix(ci): stabilize merged coverage gates
2026-07-30 20:52:35 -07:00
Hypatia May
322950487e
fix(apiproxy): let commands outlive unary deadline
2026-07-31 11:51:49 +08:00
Chinesezjc
17bb02190b
fix(fs): regenerate doc graphs and refresh glob-sampling golden after merge
...
The master merge left docs/event-producer-consumer.md stale (regenerated) and
the master-introduced fs-glob-sampling scenario now carries the search-card
`meta` this branch projects from glob (refreshed golden).
2026-07-31 11:50:10 +08:00
Yichen Jiang
8763491a9d
Merge remote-tracking branch 'origin/master' into worktree/web-model-request-retry
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 11:49:02 +08:00
Ziya
ade8358e67
Merge branch 'master' into feat/gui-full-access-confirmation
2026-07-30 23:45:31 -04:00
Chinesezjc
3248955f44
Merge pull request #987 from deepseek-harness/feat/web-web-card
...
feat(web): render web_search/web_fetch output as a web card
2026-07-31 11:44:57 +08:00
Tianyi Cui
dafdf4a852
Merge newer master into status bar token metrics
2026-07-31 11:40:06 +08:00
Yichen Jiang
2e07da19e5
Merge remote-tracking branch 'origin/master' into worktree/web-model-request-retry
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/README.md
# apps/cli/README.zh.md
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 11:39:58 +08:00
Tianyi Cui
ba66ade9f4
Merge latest master into status bar token metrics
2026-07-31 11:36:11 +08:00
Tianyi Cui
a42260ea62
Merge origin/master into feature/readme-current-capabilities
2026-07-31 11:33:17 +08:00
Ziya
25fd90a561
Merge branch 'master' into feat/gui-full-access-confirmation
2026-07-30 23:32:55 -04:00
Yichen Jiang
049e64b002
Merge remote-tracking branch 'origin/master' into worktree/fix-models-settings
2026-07-31 11:32:17 +08:00
Yichen Jiang
788b9eb986
fix(web): hide provider liveness badges
2026-07-31 11:32:10 +08:00
Chinesezjc
df5b09cd6e
Merge remote-tracking branch 'origin/master' into feat/search-presenter
...
# Conflicts:
# docs/config-catalog.md
# docs/cookbook/adding-a-tool.i18n.yaml
# docs/cookbook/adding-a-tool.md
# docs/cookbook/adding-a-tool.zh.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/tools.i18n.yaml
# docs/core-data-structures/tools.md
# docs/core-data-structures/tools.zh.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/tools/README.i18n.yaml
# packages/core/tools/README.md
# packages/core/tools/README.zh.md
# packages/core/tools/src/index.ts
# packages/core/tools/src/presentation.ts
# packages/fs/tool-fs-search/src/glob.ts
# packages/fs/tool-fs-search/src/index.ts
# packages/ui/tui/src/components/transcript.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-31 11:31:32 +08:00
Tianyi Cui
f6443601c4
Merge pull request #1021 from deepseek-harness/worktree/pr884-simplify
...
fix(atomic-write): preserve contended writer locks
2026-07-31 11:31:17 +08:00
imccyu
aea9cf5e6c
test(web): carry Full access label into plan-active golden
2026-07-31 11:30:08 +08:00
Chinesezjc
6f0405ed84
docs: re-record ui-conversation README pairing after master merge
2026-07-31 11:27:13 +08:00
NI0317
c955c9adb1
fix(web): align the credential onboarding page
2026-07-31 11:27:01 +08:00
NI0317
e2373ee562
Merge remote-tracking branch 'origin/feature/readme-current-capabilities' into feature/readme-current-capabilities
2026-07-31 11:26:40 +08:00
Chinesezjc
e4cb667184
Merge remote-tracking branch 'origin/master' into feat/web-web-card
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 11:26:35 +08:00
Chinesezjc
5a52f33dd1
Merge remote-tracking branch 'origin/master' into feat/web-diff-card
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 11:26:21 +08:00
Chinesezjc
38bd01af52
Merge remote-tracking branch 'origin/master' into feat/read-presenter
2026-07-31 11:25:44 +08:00
Tianyi Cui
f086650b6f
Merge branch 'master' into feature/readme-current-capabilities
2026-07-31 11:25:19 +08:00
imccyu
37827c461d
Merge remote-tracking branch 'origin/master' into mergebot/pr998
...
# Conflicts:
# apps/web/tests/snapshots/code-mode-round/ui.expected.md
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/hero.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/reloaded.expected.md
# apps/web/tests/snapshots/live-interactions/cancel.expected.md
# apps/web/tests/snapshots/live-interactions/error-auth.expected.md
# apps/web/tests/snapshots/live-interactions/retry.expected.md
# apps/web/tests/snapshots/message-actions/ui.expected.md
# apps/web/tests/snapshots/plan-review/approved.expected.md
# apps/web/tests/snapshots/question-composer/answered.expected.md
# apps/web/tests/snapshots/queue-actions/collapsed.expected.md
# apps/web/tests/snapshots/queue-actions/editing.expected.md
# apps/web/tests/snapshots/queue-actions/ui.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/tests/input-bar.spec.tsx
2026-07-31 11:25:16 +08:00
NI0317
84b52debb1
Merge remote-tracking branch 'origin/master' into feature/readme-current-capabilities
2026-07-31 11:20:05 +08:00
Tianyi Cui
a632934ad7
Merge branch 'master' into worktree/pr884-simplify
2026-07-31 11:19:00 +08:00
NI0317
e9cbfa153a
docs: address README review
2026-07-31 11:18:49 +08:00
ZiyaZhang
45627bd93b
fix(ci): tolerate initializing Lefthook lock
2026-07-30 20:17:04 -07:00
Yichen Jiang
61edbe400f
Merge remote-tracking branch 'origin/master' into worktree/fix-models-settings
2026-07-31 11:14:25 +08:00
Yichen Jiang
311aca3663
fix(web): improve models settings safety and contrast
2026-07-31 11:14:07 +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
kingwl
28d308b469
Merge remote-tracking branch 'origin/master' into codex/responsive-queue-panel
...
# Conflicts:
# packages/client/ui-conversation/src/client/queue/QueueDock.module.css
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.module.css
# packages/client/ui-conversation/src/client/skeleton/InputBar.module.css
# packages/client/ui-conversation/src/client/skeleton/TodoPanel.module.css
2026-07-31 11:10:08 +08:00
Turtle
899d25dfb3
fix(tui): defer model-context resolution on the adapter-registration race
...
Loader activation is service-driven, so the TUI can mount before a
configured adapter plugin registers its provider routes; every fresh
session then printed 'Could not resolve model context: no adapter
registered for provider …' for a working configuration.
The model controller now treats a NO_ADAPTER rejection of the
context-window resolution as transient: it parks the resolution
silently and re-resolves on the next llm/adapters-updated commit. A
commit that still lacks the route parks the wait again; any target
change clears it; all other resolution errors still surface. A wrong
provider name keeps failing loudly at dispatch, where it is actionable.
2026-07-31 11:10:05 +08:00
imccyu
1f2452bfae
docs: add agent note for full-access confirmation
2026-07-31 11:07:59 +08:00
Chinesezjc
40b9ccff20
Merge remote-tracking branch 'origin/master' into feat/web-diff-card
...
# Conflicts:
# packages/client/ui-conversation/src/client/chat/GenericToolCard.tsx
# packages/client/ui-conversation/src/client/chat/ToolRow.module.css
# packages/client/ui-conversation/src/client/chat/ToolRow.tsx
2026-07-31 11:07:52 +08:00
NI0317
05c4b916cb
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
2026-07-31 11:05:02 +08:00
NI0317
4e1ccebfff
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
...
# Conflicts:
# examples/acp-agent/tests/goal-snapshots/goal-session/session.expected.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/bash-tool-turn/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/cancel/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/empty-response-retry/session.jsonl
# examples/acp-agent/tests/snapshots/error-finish/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/lsp-definition/session.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/session.jsonl
# examples/acp-agent/tests/snapshots/packed-chunks/session.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/pty-tools/session.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/session.jsonl
# examples/acp-agent/tests/snapshots/session-query-spill/session.jsonl
# examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl
# examples/acp-agent/tests/snapshots/session-title-after-turn/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/acp-agent/tests/snapshots/todo-write/session.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/session.jsonl
# examples/acp-agent/tests/snapshots/web-fetch/session.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.1.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/child.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/session.jsonl
# packages/core/agent-loop/src/agent.ts
2026-07-31 11:02:45 +08:00
Tianyi Cui
e9096c891c
Merge latest master into worktree/pr884-simplify
2026-07-31 11:00:07 +08:00
NI0317
46515aec6c
Merge remote-tracking branch 'origin/master' into feature/readme-current-capabilities
2026-07-31 11:00:05 +08:00
Chinesezjc
2cad75a217
test(client-ui-conversation): assert localized 输出 section title in web-card panel
...
master's locale rollout renders the details Output section title through
t('details.output') (输出 under the zh seat the test uses). The spec still
asserted the English 'Output' literal and failed. Match the sibling
terminal-card suite's localized assertion.
2026-07-31 10:59:43 +08:00
Chinesezjc
32ab26a30b
fix(tui): route read card content through renderBody's stripped-content path
...
The master merge added a web card whose renderBody content narrow checked
only card === 'generic', so a read card fell through to the raw result
content and rendered the full <path>/<type>/<content> envelope instead of
the envelope-stripped text. Include card === 'read' in that narrow, mirroring
the markdownContent selection in render(); the parallel-file-reads terminal
golden is byte-for-byte unchanged.
2026-07-31 10:58:19 +08:00
Hypatia May
3a99cf7446
Merge current master into status bar projection
2026-07-31 10:56:34 +08:00
Chinesezjc
452ba583d2
test(client-ui-conversation): pass locale seat to web-card GenericToolCard/DetailsPanel renders
...
master's locale rollout made `t` a required prop on GenericToolCardProps and
the details slot; the web-card spec predates it. Supply the makeTranslate seat
the sibling suites use.
2026-07-31 10:54:36 +08:00
Chinesezjc
bf26cfd2ff
docs: re-record ui README pairings after master merge
2026-07-31 10:51:58 +08:00
Ziya
7b95559f18
Merge branch 'master' into feat/gui-full-access-confirmation
2026-07-30 22:51:43 -04:00
Chinesezjc
83f3ed8b91
Merge remote-tracking branch 'origin/master' into feat/web-web-card
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/GenericToolCard.tsx
# packages/client/ui-conversation/src/client/skeleton/DetailsPanel.tsx
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-primitives/README.md
# packages/client/ui-primitives/README.zh.md
# packages/client/ui-primitives/src/index.ts
2026-07-31 10:51:09 +08:00
Chinesezjc
c1f990a066
test(acp): refresh cordis-inspect-jsdoc and workspace-context fixtures post-merge
...
The merge combined ReadResultView (this branch) and WebResultView (master)
into ToolResultView; refresh cordis-inspect-jsdoc for the merged union and
workspace-context for the read window offset now in persisted meta.
2026-07-31 10:45:34 +08:00
Chinesezjc
224e3f85be
docs: re-record ui-conversation README pairing after base merge
2026-07-31 10:43:51 +08:00
Chinesezjc
fa6ba79ddf
Merge remote-tracking branch 'origin/feat/web-presenter' into feat/web-web-card
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 10:42:43 +08:00