Yichen Jiang
96c44c83d4
test(web): stabilize and refresh the aria goldens for the speed readings
...
The TTFT and tok/s readings divide by measured wall time, so they are not
reproducible: the same replayed scenario yielded 69 and 70 tok/s on
consecutive local runs, and a 3 ms replayed stream reads 26333 tok/s. Baking
those into committed goldens made the Web lane flaky by construction, and the
goldens for the readings themselves were never refreshed.
Three fixes, then a refresh:
The footer's decorative dots are `aria-hidden`, so the readings concatenated
into one accessible string — `Ran for 13sTTFT 0.2s12 tok/s`. That is a real
defect on its own (a reader hears one run-on instead of three facts) and it
also denied `{{duration}}` the word boundary it matches on, so even the
previously-stable `Ran for` duration started leaking raw. The separators now
carry flanking spaces.
`normalizeAria` gains `{{throughput}}` beside `{{duration}}`, and its duration
alternation accepts the stats line's compact `2m42s` as well as the
message-chrome template's `2m 42s` — the compact form had no pattern at all,
which is why `LLM 382m39s` survived the first refresh.
Refreshed 17 goldens. They also record that the stats line's `LLM` group now
renders at all: it folds assistant `timing`, which the live transcript adapter
only began attaching in this branch, so the group was previously dead in Chat.
Verified by running the lane in replay three times after the refresh: 41/41
files green each time, goldens untouched. Before this change two consecutive
runs disagreed on both the values and the failure count.
2026-08-05 17:55:49 +08:00
Yichen Jiang
086656afae
Merge remote-tracking branch 'origin/master' into worktree/custom-deepseek-models
...
# Conflicts:
# packages/client/ui-models/src/client/ModelsSection.module.css
# packages/client/ui-models/src/client/ModelsSection.tsx
2026-08-05 11:46:23 +08:00
Yif
9813159973
test(web): refresh aria goldens for the run-time footer label
2026-08-03 19:59:00 +08:00
Yichen Jiang
edf2cece37
Merge remote-tracking branch 'origin/master' into worktree/custom-deepseek-models
...
# Conflicts:
# packages/host/apiproxy/README.i18n.yaml
2026-08-03 19:02:29 +08:00
Yichen Jiang
e0b70508a1
Merge remote-tracking branch 'origin/master' into worktree/custom-deepseek-models
...
# Conflicts:
# apps/web/tests/snapshots/message-actions/ui.expected.md
# apps/web/tests/snapshots/seeded-history/command-row.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# packages/client/ui-model/README.i18n.yaml
# packages/client/ui-model/README.md
# packages/client/ui-model/README.zh.md
# packages/client/ui-model/tests/model-select.spec.tsx
# packages/host/apiproxy/README.i18n.yaml
2026-08-03 16:20:55 +08:00
kingwl
c5050f018e
fix(web): keep ineligible message forks disabled
2026-08-03 16:19:49 +08:00
kingwl
d9a370e185
test(web): refresh completed-turn-tail snapshots
2026-08-02 17:53:38 +08:00
imccyu
5d56019d22
feat: revert crumbs navigation for subagents
2026-08-02 12:51:11 +08:00
Tianyi Cui
d0a0bb92ca
Merge remote-tracking branch 'origin/master' into worktree/default-workspace-write-ui-20260731
...
# Conflicts:
# apps/cli/README.i18n.yaml
2026-08-01 18:06:19 +08:00
kingwl
07b0efc49e
fix(web): hide session lineage in header
2026-07-31 21:08:57 +08:00
Tianyi Cui
b694c33d18
Default shipped UI sessions to workspace-write
2026-07-31 20:39:53 +08:00
Chinesezjc
0be76f5552
Merge remote-tracking branch 'origin/master' into feat/web-cards-toolrow
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 17:45:31 +08:00
Chinesezjc
b93120a280
Merge remote-tracking branch 'origin/master' into feat/web-cards-toolrow
...
# Conflicts:
# packages/client/connection/src/client/fixture.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/chat/GenericToolCard.tsx
# packages/client/ui-conversation/src/client/skeleton/DetailsPanel.tsx
# packages/client/ui-conversation/src/client/toolviews/file-mutation-row.tsx
# packages/client/ui-conversation/src/client/toolviews/search-row.tsx
# packages/client/ui-conversation/tests/chat-apply.spec.tsx
# packages/client/ui-primitives/src/index.ts
2026-07-31 17:38:17 +08:00
Tianyi Cui
ab6d77a12d
Merge remote-tracking branch 'origin/master' into fix/web-transcript-projection
...
# Conflicts:
# apps/web/tests/queue-actions.e2e.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
2026-07-31 17:17:00 +08:00
Chinesezjc
bcec49606b
test(web): refresh e2e goldens for collapsed card rows
...
The seeded-history, web-search-round, and message-actions aria goldens showed
the read/search cards inline; with the ToolRow refactor the card is collapsed
behind an expandable row button, so the goldens now record the collapsed row
shape (the card body appears only on expand, which these rounds do not click).
2026-07-31 17:09:51 +08:00
creatixchu
6ac8383723
Merge remote-tracking branch 'origin/master' into worktree/hide-message-edit
...
# 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/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/loading.expected.md
# apps/web/tests/snapshots/live-interactions/retry.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/steering/mid-steer.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# apps/web/tests/snapshots/web-search-round/ui.expected.md
2026-07-31 16:47:09 +08:00
creatixchu
171c18b9ca
cleanup(web): drop the unimplemented user-message edit control
...
The user bubble's IconActions row carried an edit button with no click
handler, no client mutation, and no host operation behind it, advertising
an affordance the product cannot honor. The row now renders clock / copy /
branch only for both user and assistant chrome, and MessageIconActions
loses the `edit` prop with the button.
The package README records the missing capability under Known Limitations,
the web aria goldens pin the row without the control, and the Agent Note
states what must exist before it comes back.
2026-07-31 16:23:36 +08:00
Chinesezjc
c4711d5439
test(web): refresh seeded-history/message-actions goldens for keyed read row
...
The read tool now renders through the keyed ReadRow (Read · {path} chrome with a
resident read card) instead of the generic disclosure row, so the seeded read
turns in these built-boot goldens change from an expandable `button "Read …"`
to the read row's icon + Read + path-link shape. Refreshed keyless.
2026-07-31 15:57:34 +08:00
Yichen Jiang
2701862bf1
Merge remote-tracking branch 'origin/master' into worktree/custom-deepseek-models
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-30-web-config-plane.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-30-web-config-plane.md
# .agents/notes/implemented/architecture/2026-07-30-web-config-plane.zh.md
# apps/web/tests/snapshots/message-actions/ui.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# 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/ModelsSection.module.css
# packages/client/ui-models/src/client/ModelsSection.tsx
# packages/client/ui-models/tests/components.spec.tsx
# packages/host/apiproxy/README.i18n.yaml
2026-07-31 14:36:00 +08:00
Yichen Jiang
a332f2f333
feat(web): configure custom DeepSeek models
2026-07-31 14:08:59 +08:00
Tianyi Cui
bb3d6a0de8
Merge latest master into Web transcript
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.module.css
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/chat/chat-flow.ts
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
2026-07-31 13:12:37 +08:00
Tianyi Cui
ef722cc14a
Merge latest master into Web transcript
2026-07-31 11:39:49 +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
ZiyaZhang
83d6be50aa
Merge remote-tracking branch 'upstream/master' into feat/gui-full-access-confirmation
2026-07-30 19:32:51 -07:00
imccyu
ce57438ac0
Merge branch 'master' into codex/new-task
2026-07-31 10:23:14 +08:00
Hypatia May
074f0e4393
Merge pinned master into Web transcript
2026-07-31 09:18:45 +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
c9997311cf
Merge remote-tracking branch 'origin/master' into mergebot/pr998
...
# Conflicts:
# packages/client/ui-command/src/client/PopupSelectView.tsx
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/src/client/skeleton/PermissionSelect.tsx
# packages/client/ui-conversation/tests/input-bar.spec.tsx
# packages/client/ui-conversation/tests/input-matrix.spec.tsx
# packages/client/ui-conversation/tests/input-scenarios.spec.tsx
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/client/ui-primitives/src/Modal.tsx
# packages/client/ui-primitives/tests/atoms.spec.tsx
2026-07-31 03:14:44 +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
72a7307826
chore: regenerate module graph and refresh composer goldens after master merge
2026-07-31 02:28:43 +08:00
imccyu
8933d63143
test(web): align e2e anchors and goldens with the unified tool-row expand
2026-07-31 02:16:28 +08:00
imccyu
d752405ad1
feat: locale update all
2026-07-31 02:13:53 +08:00
imccyu
1e10966ef6
wip
...
fix: docs
2026-07-31 02:13:53 +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
Yichen Jiang
c71af0f3bb
Merge latest master into worktree-llm-web-config
2026-07-31 01:09:50 +08:00
imccyu
f93b134c44
fix: tests
2026-07-31 00:04:45 +08:00
imccyu
5c4398c96c
Merge branch 'master' into worktree/command-row-copy
2026-07-30 23:45:49 +08:00
kingwl
1986de9ac1
fix(web): show plan status only while active
2026-07-30 22:42:25 +08:00
Yichen Jiang
7022ab4a75
Merge worktree-llm-dynamic-config (884) into worktree-llm-web-config
2026-07-30 21:19:17 +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
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
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
kingwl
f5228e7c71
Merge origin/master into codex/figma-context-injection-row
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/ToolRow.module.css
# packages/client/ui-conversation/src/client/chat/ToolRow.tsx
2026-07-30 17:34:14 +08:00
creatixchu
d9cb19f276
feat(ui): drop the slash and the argument echo from the command row
...
The web command row renders `title · summary` from one logged command
lifecycle pair, and the two halves were written without knowing about each
other: the title was the dispatched line rebuilt from `command/run` and the
summary was `command/done`'s verbatim text, so every Access-chip pick read
`/permission workspace-write · Permission preset: workspace-write.` — the
command name twice and its argument twice.
The title is now the bare command name (no `/`, no arguments — the summary
already says what the command did), and a command handler's settlement text
never repeats the command's own name, so `/permission` returns `preset
workspace-write`. The row reads `permission · preset workspace-write`, and
the TUI notice still names the preset that now applies. The log is
unchanged: `command/run` keeps its structured name/args split for a richer
registered row.
2026-07-30 17:34:03 +08:00
Hypatia May
16378e4ba7
Merge remote-tracking branch 'origin/fix/human-transcript-projection' into fix/web-transcript-projection
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 17:33:55 +08:00
imccyu
34c124585a
fix: test
2026-07-30 16:46:50 +08:00
Hypatia May
3b3d5579cb
Merge remote-tracking branch 'origin/fix/human-transcript-projection' into fix/web-transcript-projection
...
# Conflicts:
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/fold-adapter.ts
# packages/client/runtime/tests/fold-adapter.spec.ts
# packages/client/ui-trajectory/src/client/layout.ts
# packages/client/ui-trajectory/src/client/spans.ts
# packages/compact/compact/README.i18n.yaml
2026-07-30 16:37:22 +08:00
kingwl
17893c503e
feat(web): match context injection disclosure design
2026-07-30 16:20:34 +08:00