_Kerman
0bc495c465
Merge remote-tracking branch 'github/master' into xtr/trajectory-timeline-click-focus
2026-07-30 17:12:30 +08:00
_Kerman
411bbdf2aa
feat(ui): compact trajectory role labels
2026-07-30 17:11:07 +08:00
Tianyi Cui
abd7d57358
Merge branch 'master' into feature/shared-cli-config-foundation
2026-07-30 17:08:42 +08:00
_Kerman
997932ffd6
feat(ui): refine trajectory timeline interaction
2026-07-30 17:00:58 +08:00
imccyu
34c124585a
fix: test
2026-07-30 16:46:50 +08:00
kingwl
0a25c0d237
feat(web): add queue collapse control
2026-07-30 16:41:55 +08:00
Yichen Jiang
8707f324c6
refactor(ui-models): render the curated fields from a narrowed adapter family
...
The effort field's existence check was unreachable — EFFORT_FIELD is
total over the two known families — and a coverage exemption was papering
over the branch, which the merged toolchain no longer honored. Taking the
narrowed family as a parameter makes the lookup total at the type level,
so the check and its exemption both disappear. The rendered output is
unchanged: the browser goldens replay byte-identical.
2026-07-30 16:41:44 +08:00
kingwl
d7641ec028
Merge origin/master into codex/figma-context-injection-row
2026-07-30 16:20:47 +08:00
kingwl
17893c503e
feat(web): match context injection disclosure design
2026-07-30 16:20:34 +08:00
imccyu
17fea637d5
Merge branch 'master' into codex/details-default-closed
2026-07-30 15:40:36 +08:00
imccyu
e184b9561a
Merge branch 'master' into feat/ask-question-gui
2026-07-30 15:36:22 +08:00
imccyu
925cb0b315
feat(web): plan chip as an always-visible pressed-state toggle
...
fix: plan button add label
2026-07-30 15:33:45 +08:00
Turtle
da5f1878c0
Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
2026-07-30 15:29:47 +08:00
imccyu
245aeb414c
feat(web): workspace header hover card with cwd and creation time
2026-07-30 15:29:12 +08:00
imccyu
4c33ca8bec
fix: hero layout when no-workspace
2026-07-30 15:25:50 +08:00
Yichen Jiang
483199d47a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/web/tests/snapshots/code-mode-round/session.jsonl
# apps/web/tests/snapshots/cordis-tool-round/session.jsonl
# apps/web/tests/snapshots/fresh-round-trip/session.jsonl
# apps/web/tests/snapshots/lifecycle-chrome/session.jsonl
# apps/web/tests/snapshots/live-interactions/session.jsonl
# apps/web/tests/snapshots/navigation-panes/seed.jsonl
# apps/web/tests/snapshots/question-composer/session.jsonl
# apps/web/tests/snapshots/seeded-history/seed.jsonl
# apps/web/tests/snapshots/steering/session.jsonl
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/settings.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# packages/client/connection/README.i18n.yaml
# packages/client/connection/src/index.ts
# packages/client/connection/tests/node-half.spec.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/tests/fake-api.ts
# packages/client/ui-models/README.i18n.yaml
# packages/examples/tui-demo/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/package.json
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/README.zh.md
# packages/llm/llm-pi-ai/README.i18n.yaml
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.zh.md
# packages/sdk/sdk-client/README.i18n.yaml
# packages/settings/settings/README.i18n.yaml
# packages/settings/settings/README.md
# packages/settings/settings/README.zh.md
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.zh.md
# packages/support/llm-replay/README.i18n.yaml
# packages/ui/jsonrpc/README.i18n.yaml
# packages/ui/jsonrpc/README.zh.md
# packages/ui/tui/tests/snapshots/model-selector.expected.txt
# packages/ui/tui/tests/snapshots/model-switching.expected.txt
# packages/ui/tui/tests/snapshots/resume-sessions.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# packages/ui/tui/tests/tui.snapshot.ts
# pnpm-lock.yaml
# python/sdk/README.i18n.yaml
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-30 15:18:26 +08:00
imccyu
6ea1238714
docs(web): the composer bar is one session-maybe slot, not a swapped pair
...
fix(web): keep one composer bar DOM across the no-workspace transition
The composer.bar slot moves from session to session-maybe scope: with no
current session the entry still mounts, the machine faces (keyboard, stop,
command) arrive undefined, and the bar renders its normal DOM inert via the
disabled owner prop. DisabledInputBar and its parallel tree are gone, so the
textarea node survives the cold-start workspace pick instead of flashing
through a remount. A blank session whose workspace was deleted takes the
same inert path through owner props.
test(web): add the composer DOM-continuity acceptance probe
Drives a real dsh web server with headless chromium through the cold-start
-> pick-workspace -> type flow and asserts the composer textarea is the
same DOM node throughout (a marker property must survive). Rerun
prerequisites are in the header comment.
docs(web): session-maybe identity is adoption, not hold-forever
fix(web): session-maybe entries adopt the first session, then remount like strict entries
A session-maybe entry used to keep one React instance across every
transition, so component-local state leaked between sessions once the
composer bar moved to that scope (PermissionSelect's optimistic pick, the
IME composition guard). Identity is now adoption: an incarnation born
session-less holds through the arrival of the first session (the blank
shell's DOM survives the workspace pick), and afterwards behaves exactly
like a strict session entry — a switch or a drop to no-session remounts,
clearing local state by construction. The child key is an incarnation
counter kept in the stable outlet wrapper via render-phase setState.
chore: knip knows the root acceptance probe's playwright dependency
scripts/hero-composer-dom-continuity.mjs resolves playwright through
apps/web's devDependency tree (createRequire), which knip cannot follow;
ignore it at the root workspace.
2026-07-30 15:18:06 +08:00
imccyu
6c7520c652
Merge remote-tracking branch 'origin/master' into mergebot/pr883
...
# Conflicts:
# apps/web/tests/snapshots/question-composer/answered.expected.md
# apps/web/tests/snapshots/question-composer/ui.expected.md
2026-07-30 15:04:59 +08:00
imccyu
03936cb320
Merge remote-tracking branch 'origin/master' into mergebot/pr883
...
# Conflicts:
# packages/client/ui-question/package.json
# packages/client/ui-question/src/client/QuestionComposer.tsx
# packages/client/ui-question/src/client/contract/slots.ts
# packages/client/ui-question/src/client/index.ts
# packages/client/ui-question/src/client/locales.ts
# packages/client/ui-question/tests/browser-plugin.spec.ts
# packages/client/ui-question/tests/question-composer.spec.tsx
2026-07-30 15:01:10 +08:00
Turtle
39efc3dd73
Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
...
# Conflicts:
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# docs/testing.i18n.yaml
2026-07-30 15:00:42 +08:00
Turtle
36f6d8fd05
Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
...
# Conflicts:
# packages/ui/tui/README.i18n.yaml
2026-07-30 14:58:10 +08:00
imccyu
5c2fc03d8f
Merge branch 'master' into codex/details-default-closed
2026-07-30 14:50:50 +08:00
_Kerman
df25ca41dc
Merge remote-tracking branch 'github/master' into xtr/fix-trajectory-scroll-layering
2026-07-30 14:45:16 +08:00
_Kerman
c0b8fea4c8
fix(ui): contain trajectory scrolling and overlays
2026-07-30 14:45:07 +08:00
kingwl
4ef3e60d57
fix(web): keep details closed by default
2026-07-30 14:42:39 +08:00
imccyu
ac37caa1ee
Merge branch 'master' into worktree-fetest
2026-07-30 14:31:44 +08:00
Yichen Jiang
42d0f3c7ba
feat(web): route onboarding to Models settings
2026-07-30 13:11:07 +08:00
imccyu
4869e0bbfc
Merge branch 'master' into worktree-fetest
2026-07-30 13:09:53 +08:00
imccyu
1b84126f70
Merge branch 'master' into worktree/short-default-labels
2026-07-30 13:08:34 +08:00
imccyu
432a64ef2f
Merge branch 'master' into worktree/short-default-labels
2026-07-30 12:56:11 +08:00
Yichen Jiang
7fc1b5a777
Merge latest worktree-llm-web-config
2026-07-30 12:52:27 +08:00
Yichen Jiang
596334254c
docs: align the config-page docs and terminology with the single-key editor rounds
2026-07-30 12:45:22 +08:00
Yichen Jiang
a9d2d2888a
Merge updated Models form from worktree-llm-web-config
2026-07-30 12:44:16 +08:00
Yichen Jiang
819a7a6751
docs: record DeepSeek onboarding credential flow
2026-07-30 12:41:32 +08:00
Yichen Jiang
9182db00ef
feat(web): configure DeepSeek during onboarding
2026-07-30 12:41:09 +08:00
Yichen Jiang
16f1cfe04e
feat(ui-models): pin the deepseek endpoint placeholder, add pi-ai base URL, drop the fold hint
2026-07-30 12:39:56 +08:00
Yichen Jiang
d1bfdbff84
feat(ui-models)!: single-key hand-written provider editors with derived credential references
...
The Models page drops the generic schema renderer and the visible
environment-variable field: each editor is a curated per-family card whose
primary input is one write-only API key stored under a derived
<ROUTE>_API_KEY reference (recorded as apiKeyEnv in the pi-ai profile), an
unkeyed whole-section provider opens as its setup card, and the collapsed
customized-settings fold carries baseURL/reasoningEffort (deepseek) or
reasoning (pi-ai). dsh-client-schema-form reduces to the schema/draft model
layer (no React).
2026-07-30 12:17:56 +08:00
Turtle
5a490553bc
Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
...
# Conflicts:
# docs/event-producer-consumer.md
# packages/host/apiproxy/README.i18n.yaml
# tsconfig.base.json
2026-07-30 12:00:15 +08:00
imccyu
6e99027917
Merge remote-tracking branch 'origin/master' into mergebot/pr937
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/queue/QueueDock.module.css
2026-07-30 11:59:59 +08:00
imccyu
b523a04af8
Merge remote-tracking branch 'origin/master' into worktree-fetest
2026-07-30 11:51:09 +08:00
imccyu
02a9d4113e
Merge remote-tracking branch 'origin/master' into worktree-fetest
2026-07-30 11:40:34 +08:00
kingwl
ad1bb84425
Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 11:38:54 +08:00
imccyu
aae1b48535
Merge remote-tracking branch 'origin/master' into worktree-fetest
2026-07-30 11:17:03 +08:00
imccyu
6303b22487
ci: run web replay on master linux
2026-07-30 11:16:37 +08:00
07akioni
b92c6bcc66
Merge branch 'master' into fix/ui-action-display
2026-07-30 11:15:35 +08:00
imccyu
60620ec36c
Green the jsdom lane for the composer-seat ResizeObserver and new StatsLine format
...
The seat's height publisher needs a ResizeObserver stub in every spec that
renders ConversationRoot (jsdom has none), and the two branch-tail StatsLine
assertions move to the grouped detail-row output.
2026-07-30 11:09:03 +08:00
Yichen Jiang
51415debe5
docs: bilingual config-plane documentation, regenerated catalogs, and the web-config-plane Agent Note
2026-07-30 10:53:39 +08:00
imccyu
b94df7348f
Merge branch 'master' into codex/web-queue-actions
2026-07-30 10:50:34 +08:00
Yichen Jiang
fb4b8f3973
Merge remote-tracking branch 'origin/master' into worktree/short-default-labels
...
# Conflicts:
# packages/client/ui-model/src/client/ModelSelect.tsx
# packages/client/ui-model/tests/model-select.spec.tsx
2026-07-30 10:47:35 +08:00
Yichen Jiang
ebff7db11e
fix(schema-form): extract the clone-spine walk and drop the unused ui-primitives dependency
2026-07-30 10:40:43 +08:00