Yichen Jiang
5b29d04c21
test(web): re-record the goldens for master's context-injection disclosure
...
Merging master swapped the plain "▸ 上下文注入" button for the shared
DisclosureRow, which every conversation golden carrying an injected-context
row renders. The only change in all twelve files is that row.
2026-07-30 21:40:34 +08:00
Chinesezjc
1fd6b5a107
fix(web): diff card review — TUI parity, path-header overlap, double-resolve
...
Bring the TUI diff footer onto the same terminator rule and distinct-path
count the Web DiffBlock uses (a trailing newline terminates its line; two
hunks in one file read as 1 file), so the two front ends' `+A -R · N file(s)`
footers agree. Reserve space in the diff path header for the floating copy
button so a long path no longer scrolls under it. Pass the tool's raw path to
the injected openFile (which already resolves against cwd) instead of resolving
twice. Rename the shared block-body CSS class to a card-neutral cardBody so a
terminal-spacing tweak cannot silently move the diff card. Add a same-file
two-hunk TUI unit test and an assembled built-boot assertion that the write
turn renders +1 -0 · 1 file end to end.
2026-07-30 21:36:42 +08:00
imccyu
3b370549a1
feat(client): increment forked session titles
2026-07-30 21:28:17 +08:00
imccyu
213de9a737
feat(ui-conversation): wire assistant session forks
2026-07-30 21:28:17 +08:00
imccyu
7d27c92851
test(web): cover row fork in the real app
2026-07-30 21:28:16 +08:00
imccyu
36f1489398
fix(web): address session fork review findings
2026-07-30 21:28:13 +08:00
Yichen Jiang
7022ab4a75
Merge worktree-llm-dynamic-config (884) into worktree-llm-web-config
2026-07-30 21:19:17 +08:00
Yichen Jiang
2243e35846
Merge worktree-config-settings-seam (870) into worktree-llm-dynamic-config
2026-07-30 21:17:07 +08:00
Tianyi Cui
6777e4fab9
fix(fs-search): make glob sampling an explicit choice
2026-07-30 21:14:03 +08:00
Yichen Jiang
daf70f3660
feat(llm-deepseek): configure max token defaults
2026-07-30 21:04:00 +08:00
Hypatia May
2e68e08644
test(web): isolate direct smoke skill homes
...
Build-review integration round 2.
2026-07-30 20:58:34 +08:00
Yichen Jiang
b6130b178d
Merge remote-tracking branch 'origin/worktree-llm-web-config' into worktree/onboarding-deepseek-config
...
# Conflicts:
# packages/client/ui-models/README.i18n.yaml
# packages/client/ui-models/README.md
# packages/client/ui-models/README.zh.md
# packages/client/ui-models/src/client/store.ts
# packages/client/ui-models/tests/components.spec.tsx
2026-07-30 20:55:12 +08:00
Hypatia May
538f23678a
Merge origin/master into codex/status-bar-token-metrics
...
Build-review integration round 1; isolate Web snapshots from user skill homes.
2026-07-30 20:51:38 +08:00
ZiyaZhang
6d416b06c5
fix(client): gate every full access picker
2026-07-30 05:48:33 -07:00
kingwl
7da7d5784d
Open command menu from composer plus button
2026-07-30 20:42:48 +08:00
Chinesezjc
224a9d5f09
fix(client-web): reject unknown web kind, lock fixture to contract, observe web card in boot smoke
...
- webCardModel returns null for an unknown web `kind` (wire from a newer host)
instead of drawing it as a malformed fetch, matching the unknown-`card` and
terminal-model wire-boundary default.
- Fixture WEB_SEARCH_RESULT/WEB_FETCH_RESULT and the source type derive from the
contract's ToolResultView via Extract, so a new contract field fails at the
type level rather than drifting silently.
- built-boot smoke asserts the web_search/web_fetch turns render their keyed
WebRow cards, giving the registration and wire projection an assembled check.
- DetailsPanel comment no longer claims the card omits content for search.
- ui-primitives README inline-Chinese limitation now lists WebBlock's controls.
2026-07-30 20:42:29 +08:00
creatixchu
82df6dcc0b
fix(cli): avoid duplicate attachment backend
2026-07-30 20:33:11 +08:00
imccyu
d67b80f2fd
Merge branch 'master' into xtr/trajectory-timeline-click-focus
2026-07-30 20:27:47 +08:00
Yichen Jiang
e55a904e1d
feat(web): render remote Markdown images
2026-07-30 20:26:33 +08:00
Yichen Jiang
990d1bbc35
fix(cli): declare the config-plane providers the shared base config mounts
...
The master merge moved the TUI composition into `apps/cli/config/base.cordis.yml`
and I carried the `settings-local` / `credentials-local` rows across without
adding them to the resolver manifest. Bare specifiers in an app config resolve
through that manifest's dependencies, so the whole tree failed to boot:
dsh: plugin(s) failed to load: @deepseek-ai/dsh-settings-local,
@deepseek-ai/dsh-credentials-local
which took every TUI PTY smoke with it. `verify-cordis-config` did not catch
it, so the boot smoke was the first signal.
2026-07-30 20:25:13 +08:00
creatixchu
2cac565383
fix(web): let the pointer reach hover cards and row menus
...
The workspace browser's two hover-raised popups both died on the way to
them. HoverCard closed on the first pointerleave and rendered its card
pointer-events:none, but the card sits 8px off the anchor, so every path
to it crossed ground belonging to neither. The row action menus put
closeOnPointerLeave's handler on the portaled list, so aiming back at the
... trigger that opened it, or overshooting a list edge, closed it with no
window to come back.
usePointerGrace owns one cancelable delayed close (200ms) shared by both
atoms: leaving arms it, returning cancels it. The hover card becomes
hit-testable so resting on it holds it open, and Menu moves pointer-leave
dismissal to the wrapper span, where React's enter/leave traversal makes
trigger and portaled list one region.
Both gestures are pinned in the real browser lane; each fails without the
corresponding fix.
2026-07-30 20:25:02 +08:00
Tianyi Cui
bdc21717c0
Merge branch 'master' into worktree/fix-macos-web-replay
2026-07-30 20:22:12 +08:00
07akioni
d704a2b782
fix: ci
2026-07-30 20:19:42 +08:00
Yichen Jiang
3957ce007a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/cli/package.json
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# apps/web/tests/details-session-lifecycle.e2e.ts
# 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/question-composer/answered.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# apps/web/tests/snapshots/steering/mid-steer.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/user/guide/config.i18n.yaml
# docs/user/guide/config.md
# docs/user/guide/config.zh.md
# docs/user/guide/index.i18n.yaml
# docs/user/guide/index.md
# docs/user/guide/index.zh.md
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/cordis-agent/cordis.yml
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# examples/headless-agent/tests/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/tui-agent/code-mode.cordis.yml
# examples/tui-agent/cordis.yml
# packages/examples/tui-demo/README.md
# packages/examples/tui-demo/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/pty/tool-bash-persistent/README.i18n.yaml
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# pnpm-lock.yaml
# scripts/snapshots/python-sdk-single-exe/advanced/result.json
# scripts/snapshots/python-sdk-single-exe/advanced/session.1.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.2.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.jsonl
2026-07-30 20:15:40 +08:00
kingwl
29d8ca5ee5
Merge remote-tracking branch 'origin/master' into codex/queue-collapse
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 20:11:46 +08:00
Yichen Jiang
5b9c088fb7
Merge remote-tracking branch 'origin/master' into worktree/web-model-request-retry
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 20:09:37 +08:00
Hypatia May
eb3188f05d
Merge remote-tracking branch 'origin/fix/web-transcript-projection' into feat/manual-compact-single-lock
...
# Conflicts:
# apps/cli/config/base.cordis.yml
# apps/cli/cordis.yml
# docs/event-producer-consumer.md
# examples/package.json
# examples/tui-agent/README.i18n.yaml
# examples/tui-agent/README.md
# examples/tui-agent/README.zh.md
# pnpm-lock.yaml
2026-07-30 20:09:23 +08:00
creatixchu
782c064d03
Merge remote-tracking branch 'origin/worktree/web-multimodal-image-input' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/src/bin.ts
# apps/cli/tests/args.spec.ts
2026-07-30 20:05:34 +08:00
creatixchu
98ed9d8d4b
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/cordis.yml
# apps/cli/package.json
# apps/cli/src/bin.ts
# apps/cli/tests/args.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/ui/tui/README.i18n.yaml
# pnpm-lock.yaml
2026-07-30 20:04:22 +08:00
Yichen Jiang
4d0843df3e
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
# 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
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
2026-07-30 20:03:39 +08:00
Hypatia May
c2337bfa10
Merge remote-tracking branch 'origin/fix/human-transcript-projection' into fix/web-transcript-projection
...
# Conflicts:
# apps/web/tests/scaffold.ts
# apps/web/tests/seeded-history.e2e.ts
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
2026-07-30 20:02:32 +08:00
Yichen Jiang
4e17b23174
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 20:02:30 +08:00
07akioni
af01552789
fix(web): keep IconActions on turn-tail content only
...
Drop the running-turn withhold path; last-content-seq gating alone keeps mid-turn narration chrome-free.
2026-07-30 19:59:58 +08:00
07akioni
4bf09d508c
fix: cr
2026-07-30 19:59:50 +08:00
07akioni
20db6ca4d5
feat(web): add favicon and update IconActions behavior
2026-07-30 19:59:16 +08:00
Yichen Jiang
7d8403ac73
Merge remote-tracking branch 'origin/master' into worktree/chat-ui-polish
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
2026-07-30 19:58:25 +08:00
Yichen Jiang
bc87c91bcd
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/cordis.yml
# apps/cli/package.json
# apps/cli/src/bin.ts
# apps/cli/tests/args.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/ui/tui/README.i18n.yaml
# pnpm-lock.yaml
2026-07-30 19:54:30 +08:00
Yichen Jiang
e1fe6696df
test(web): refresh question composer disclosure
2026-07-30 19:52:46 +08:00
Yichen Jiang
b6d8fd46ed
Merge remote-tracking branch 'origin/master' into worktree/fix-multi-select-custom-answer
2026-07-30 19:51:42 +08:00
creatixchu
692ada7485
Merge remote-tracking branch 'origin/feat/directory-picker-quiet-navigation' into feat/dir-selector-adaptive-default
2026-07-30 19:48:45 +08:00
NI0317
0592d0fcea
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
2026-07-30 19:48:35 +08:00
Yichen Jiang
e76b15e8ad
Merge remote-tracking branch 'origin/master' into worktree/fix-multi-select-custom-answer
...
# Conflicts:
# apps/cli/tests/fixtures/tui-scripted-llm.ts
# packages/host/apiproxy/README.i18n.yaml
# packages/ui/tui/README.i18n.yaml
2026-07-30 19:46:51 +08:00
Yichen Jiang
eae4219e04
Merge branch 'worktree-config-settings-seam' into worktree-llm-dynamic-config
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/composition.md
# apps/cli/config/base.cordis.yml
# apps/cli/src/app-cli-entry.ts
# apps/cli/src/tui.ts
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# examples/package.json
# packages/ui/app-boot/README.i18n.yaml
# packages/ui/app-boot/README.md
# packages/ui/app-boot/README.zh.md
# pnpm-lock.yaml
# python/sdk-runtime/package.json
2026-07-30 19:46:04 +08:00
NI0317
1e56cd6765
Merge origin/master into codex/sandbox-policy-context
2026-07-30 19:40:26 +08:00
NI0317
c54fed8a20
Merge origin/master into codex/sandbox-policy-context
2026-07-30 19:31:17 +08:00
Yichen Jiang
c12a659dbf
Merge remote-tracking branch 'origin/master' into worktree/chat-ui-polish
2026-07-30 19:31:12 +08:00
Yichen Jiang
b121adcf1a
Polish web chat presentation
2026-07-30 19:30:58 +08:00
NI0317
598d0ea769
test(sandbox-policy): record wording evidence
2026-07-30 19:30:11 +08:00
Tianyi Cui
fb30187161
fix(web): isolate replay skill discovery
2026-07-30 19:30:06 +08:00
imccyu
a1f1f9c29a
Merge branch 'master' into codex/figma-context-injection-row
2026-07-30 19:20:21 +08:00