Yichen Jiang
307fea8ae9
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
2026-07-31 00:06:29 +08:00
imccyu
95242698e0
Merge branch 'master' into worktree/command-row-copy
2026-07-31 00:06:04 +08:00
imccyu
bf11016bc1
Merge remote-tracking branch 'origin/master' into worktree/approval-panel-max-height
2026-07-31 00:05:48 +08:00
imccyu
f93b134c44
fix: tests
2026-07-31 00:04:45 +08:00
Yichen Jiang
fe59dd3530
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
...
# Conflicts:
# apps/web/tests/scaffold.ts
2026-07-31 00:01:28 +08:00
Yichen Jiang
4ef128cd50
test(web): drop the host-skill context row from the conversation goldens
...
These goldens were recorded on a machine with personal skills under ~/.dsh and
~/.agents, so every one of them pinned a context-injection row a clean runner
cannot produce — which is why the browser lane failed on CI and passed
locally. master's scaffold fix confines skill-local's host-level roots to the
temp world; re-recording against it removes the row and nothing else.
seeded-history keeps its row: that scenario seeds the event itself.
2026-07-31 00:00:31 +08:00
imccyu
c6c0f5de6a
Merge branch 'master' into worktree/approval-panel-max-height
2026-07-30 23:49:19 +08:00
imccyu
7c086e40be
Merge branch 'master' into worktree/plan-review-layout
2026-07-30 23:48:19 +08:00
imccyu
5c4398c96c
Merge branch 'master' into worktree/command-row-copy
2026-07-30 23:45:49 +08:00
imccyu
57845e02ee
Merge branch 'master' into xtr/trajectory-timeline-click-focus
2026-07-30 23:44:32 +08:00
Yichen Jiang
b05b0a80fd
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-30 23:33:14 +08:00
Yichen Jiang
8c0d626cd5
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
2026-07-30 23:32:31 +08:00
ZiyaZhang
d2521a7e61
test(web): refresh queue collapse access golden
2026-07-30 08:09:59 -07:00
imccyu
da9f02221e
Merge remote-tracking branch 'origin/master' into worktree-forkweb
2026-07-30 22:53:07 +08:00
Hypatia May
c2940f620e
Merge Web queue collapse from master
2026-07-30 22:48:45 +08:00
ZiyaZhang
fa67427c39
Merge remote-tracking branch 'origin/master' into feat/gui-full-access-confirmation
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 07:48:33 -07:00
kingwl
1986de9ac1
fix(web): show plan status only while active
2026-07-30 22:42:25 +08:00
creatixchu
1102cfc1f3
Merge remote-tracking branch 'origin/master' into worktree/plan-review-layout
2026-07-30 22:10:56 +08:00
Yichen Jiang
e5d7fa4cef
Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config
2026-07-30 21:52:25 +08:00
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
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
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
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
imccyu
d67b80f2fd
Merge branch 'master' into xtr/trajectory-timeline-click-focus
2026-07-30 20:27:47 +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
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
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
imccyu
a1f1f9c29a
Merge branch 'master' into codex/figma-context-injection-row
2026-07-30 19:20:21 +08:00
kingwl
dec8173c43
Merge remote-tracking branch 'origin/master' into codex/queue-collapse
2026-07-30 19:20:20 +08:00
kingwl
5f87c7a89c
fix(web): close queue collapse review gaps
2026-07-30 19:20:13 +08:00
creatixchu
2363ef01eb
feat(web): render a plan review as a decision card, not a quiz
...
The Web composer now renders a request that declares the `plan-review` intent
as its own surface: the waiting-approval card language — amber "Plan review"
strip, the plan as the scrolling markdown body, the question as the card's
accessible name — over one decision row of Chat about it / Refuse / Approve.
Gone from that surface are the 1/1 pager, the numbered radio rows, the custom
answer row, and Skip/Submit, which made approving a plan read as sitting an
exam.
Approve and Refuse answer with the asker's own option labels and keep its
descriptions as tooltips; Chat about it cancels the request so the composer
returns and the user can simply say what they want. Copy is bilingual under the
existing `question` namespace.
The shape choice lives inside the single composer entry rather than a second
chain registration, so the two surfaces cannot race the same carrier, and
`planReviewOf` falls back to the generic flow for any request it cannot render
as a card — the client sits downstream of a wire boundary and every request
must stay answerable.
2026-07-30 19:09:35 +08:00
creatixchu
f5ab6d94a8
Merge remote-tracking branch 'origin/master' into worktree/approval-panel-max-height
2026-07-30 18:59:06 +08:00
imccyu
b1307d652f
Merge branch 'master' into xtr/trajectory-timeline-click-focus
2026-07-30 18:54:17 +08:00
Yichen Jiang
234018032d
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-primitives/src/Modal.tsx
# packages/client/ui-settings/README.i18n.yaml
2026-07-30 18:43:06 +08:00
creatixchu
12b55adf6b
fix(web): keyboard reach and resting metrics on the approval scroll region
...
Review follow-ups on the approval takeover:
The scroll region is now a tab stop (tabIndex + named role="group"). The
question composer's scroll body needs none — its option rows are focusable and
pull the container along — but this one holds nothing but text, so a
keyboard-only user could reach the buttons and never the command's tail, and
approve what they could not finish reading.
The action row's padding reproduces the 14px gap it had inside the body: the
flex gap of 6 plus its 8px top margin, neither of which reaches it now that the
row sits outside the scroll region. The resting card is unchanged again.
2026-07-30 18:35:20 +08:00
_Kerman
98e099d60e
test(web): refresh trajectory icon golden
2026-07-30 18:22:16 +08:00
kingwl
cdd1074805
Merge remote-tracking branch 'origin/master' into codex/queue-collapse
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 18:21:07 +08:00
creatixchu
14482fcef1
fix(web): keep the approval scenario's goldens platform-neutral
...
The answered-transcript golden captured the OS's own refusal of the denied
first attempt — "bash: notes.txt: Operation not permitted" on macOS against
"bash: line 1: notes.txt: Read-only file system" on Linux — so it passed
locally and failed the Linux snapshot lane.
The scenario now keeps one golden (the waiting panel, platform-neutral) and
asserts the answered state on the world instead: the decided outcome, the file
the escalated command actually wrote, DONE, the panel gone, and the composer
re-enabled. The file assertion is stronger evidence than the transcript dump
it replaces — it proves the grant reached the executor.
2026-07-30 18:11:05 +08:00
Hypatia May
e3ece4b22c
test(web): isolate snapshots from user skills
2026-07-30 18:11:00 +08:00
_Kerman
f296fd3075
Merge remote-tracking branch 'github/master' into xtr/trajectory-timeline-click-focus
...
# Conflicts:
# apps/web/tests/details-session-lifecycle.e2e.ts
# packages/client/ui-layout/README.i18n.yaml
2026-07-30 18:08:22 +08:00