Commit Graph

1074 Commits

Author SHA1 Message Date
Tianyi Cui 21163711ea Merge origin/master into worktree/core-web-minimal-profile 2026-07-31 18:10:48 +08:00
creatixchu 42ca5cd31c Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix
# Conflicts:
#	packages/client/ui-primitives/README.i18n.yaml
#	packages/client/ui-primitives/README.zh.md
2026-07-31 18:00:02 +08:00
Tianyi Cui 43a1c0bd8f Merge branch 'master' into worktree/core-web-minimal-profile 2026-07-31 17:57:09 +08:00
creatixchu 31e467e744 Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix
# Conflicts:
#	apps/web/tests/workspace-management.e2e.ts
#	packages/client/ui-workspace/README.i18n.yaml
2026-07-31 17:56:06 +08:00
Chinesezjc bcb474d13e Merge pull request #1066 from deepseek-harness/feat/web-cards-toolrow
refactor(web): collapse every card tool row through one ToolRow
2026-07-31 17:54:38 +08:00
Tianyi Cui d03927f69b Merge branch 'master' into worktree/core-web-minimal-profile 2026-07-31 17:52:08 +08:00
Tianyi Cui a3905519fb Merge pull request #1068 from deepseek-harness/codex/dsh-home-path
refactor(config): centralize DSH home paths
2026-07-31 17:50:41 +08:00
Tianyi Cui c77f889a2a Merge branch 'master' into worktree/core-web-minimal-profile
# Conflicts:
#	apps/cli/README.i18n.yaml
2026-07-31 17:50:21 +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
Turtle ef201014d0 Merge remote-tracking branch 'origin/master' into codex/dsh-home-path
# Conflicts:
#	packages/ui/app-boot/README.i18n.yaml
#	packages/ui/app-boot/README.md
#	packages/ui/app-boot/README.zh.md
#	packages/ui/app-boot/src/index.ts
2026-07-31 17:40:48 +08:00
creatixchu 44117cb8f7 Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml
2026-07-31 17:39:51 +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
creatixchu 5ffe1001ae Merge remote-tracking branch 'origin/master' into worktree/unify-workspace-add 2026-07-31 17:33:19 +08:00
CreatixChu aba776b179 Merge pull request #1056 from deepseek-harness/worktree/locale-browser-default
feat(web): open a fresh browser in the language it asks for
2026-07-31 17:32:52 +08:00
creatixchu a1b0e97162 Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix 2026-07-31 17:32:52 +08:00
creatixchu f566ed66a2 Merge remote-tracking branch 'origin/master' into worktree/unify-workspace-add 2026-07-31 17:25:12 +08:00
NI0317 9f1d9196eb Merge remote-tracking branch 'origin/master' into feature/gui-welcome-copy-v2 2026-07-31 17:11:41 +08:00
creatixchu 8f67db4676 Merge remote-tracking branch 'origin/master' into worktree/locale-browser-default 2026-07-31 17:11:05 +08:00
creatixchu e25683b26d Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix
# Conflicts:
#	packages/client/ui-primitives/README.i18n.yaml
2026-07-31 17:09:44 +08:00
Chinesezjc c6b770e681 Merge pull request #986 from deepseek-harness/feat/web-search-card
feat(web): render grep/glob output as a search card
2026-07-31 17:07:21 +08:00
imccyu 499a6e9c85 Merge pull request #1028 from deepseek-harness/pr/dump-config
feat(cli): dsh --dump-config / --dump-default-config print the composed config tree
2026-07-31 17:06:55 +08:00
NI0317 978f61f9e7 docs(onboarding): document telemetry opt-out 2026-07-31 17:05:30 +08:00
Chinesezjc b38677d41f Merge remote-tracking branch 'origin/master' into feat/web-search-card
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-31 17:01:53 +08:00
creatixchu 0afa3af1d5 Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix 2026-07-31 16:51:10 +08:00
creatixchu 637c0c3113 Merge remote-tracking branch 'origin/master' into worktree/unify-workspace-add 2026-07-31 16:50:14 +08:00
Turtle 885f1ed1ac refactor(config): centralize DSH home paths 2026-07-31 16:49:55 +08:00
creatixchu 970b81e485 Merge remote-tracking branch 'origin/master' into worktree/locale-browser-default 2026-07-31 16:49:33 +08:00
Chinesezjc 20b9cd6b36 Merge remote-tracking branch 'origin/master' into feat/web-search-card
# Conflicts:
#	packages/client/connection/src/client/fixture.ts
#	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.module.css
#	packages/client/ui-conversation/src/client/skeleton/DetailsPanel.tsx
#	packages/client/ui-conversation/tests/chat-apply.spec.tsx
#	packages/client/ui-primitives/src/index.ts
2026-07-31 16:49:20 +08:00
Chinesezjc 4e8afe3c8a Merge remote-tracking branch 'origin/master' into feat/web-cards-toolrow 2026-07-31 16:45:57 +08:00
creatixchu 404d049cd8 Merge remote-tracking branch 'origin/master' into worktree/locale-browser-default
# Conflicts:
#	apps/web/tests/onboarding-deepseek-config.e2e.ts
#	packages/client/ui-settings-general/tests/apply.spec.ts
2026-07-31 16:42:37 +08:00
Tianyi Cui c263dcdd42 Merge pull request #962 from deepseek-harness/codex/sandbox-policy-context
feat(sandbox-policy): expose current file policy to models
2026-07-31 16:39:47 +08:00
imccyu 25130dfa82 Merge pull request #985 from deepseek-harness/feat/web-read-card
feat(web): render read tool output as a line-numbered code card
2026-07-31 16:37:24 +08:00
Chinesezjc b2e01e5ba9 test(web-cards): update card specs and snapshots for collapsed ToolRow
Rewrite the read/search/web/diff card spec suites for the collapsed-by-default
ToolRow composition: each row now needs the conversation `t`, and the card is
absent from the DOM until the row's [data-expandable] toggle is clicked. Refresh
the built-boot and search-card assembled snapshots (they expand the row before
shaping the card) and the code-mode-round golden. Fix a fixture turn-number
collision the 985/986 merge introduced (grep reused turn 67, already the
multi-hunk edit's, so both shared one callId) by renumbering search/web/todo to
68-72. Document the refactor's behavior in the ui-conversation README (both
languages) and add the Agent Note.
2026-07-31 16:34:16 +08:00
creatixchu c7f706acba Merge branch 'master' into worktree/locale-browser-default 2026-07-31 16:34:06 +08:00
creatixchu dab7670207 Merge remote-tracking branch 'origin/master' into worktree/unify-workspace-add 2026-07-31 16:29:11 +08:00
creatixchu 6184ba35ca fix(web): address the review round on the one-route add flow
- lifecycle-chrome's second scaffold staged its workspace under the OUTER
  scaffold's temp root, coupling two supposedly independent worlds and
  leaving the aria scrub root wrong; it now uses its own workspaceCwd.
- The direct-open path now carries the same `flowBusy` gate that disables
  the equivalent menu entry, so an occupant re-registering mid-adoption
  cannot raise a second flow.
- A composition with no directory-picker no longer opens a zero-entry
  popover on the hero anchor: with nothing to pick and nothing to add,
  the gesture shows nothing. Both behaviors gain a unit test.
- Brought three partially superseded Agent Notes current (the native
  picker, the workspace UI product flow, and the sidebar browsing split),
  cross-linked to this decision, both languages re-recorded.
- Corrected this Note's own Testing section: the shared e2e helper stages
  and adopts its directory, it does not create one in-dialog — only
  workspace-management does. Named the client-seam and CLI-README residue
  in the follow-up TODO alongside the wire branch.
2026-07-31 16:23:49 +08:00
Turtle ce0aa90c1e feat(cli): dsh --dump-config / --dump-default-config print the composed tree
dsh --dump-config and dsh web --dump-config compose the shipped base,
the surface overlay, and the --config or personal overlay — exactly the
layers that surface boots — and print the entry list as YAML without
booting; --dump-default-config stops at the surface overlay so the two
outputs diff to precisely the user layer's effect.

The dump shares the mounting code: the vendored include exports its
patch algorithm as applyEntryPatches() and its !!js dialect as
entryListSchema (logged in vendor/README.md), dsh-app-boot's
renderConfigDump() composes and renders through both (and now imports
the dialect instead of duplicating it), and the CLI adds a thin
dump-config mode. !!js expressions print verbatim; unmatched patches
warn on stderr; boot-only flags are rejected alongside the dump flags.

(cherry picked from commit 1fdbebfa8a5dc7df840d53666320064a7e3dae59)
2026-07-31 16:20:54 +08:00
creatixchu 8997afb3e5 fix(web): preserve hover-card selection and feedback 2026-07-31 16:13:12 +08:00
Chinesezjc 6005fc93ca Merge remote-tracking branch 'origin/feat/web-search-card' into feat/web-cards-toolrow 2026-07-31 16:05:48 +08:00
Chinesezjc 6f4897f28e Merge remote-tracking branch 'origin/master' into feat/web-search-card 2026-07-31 16:05:16 +08:00
Tianyi Cui 1352c4ecd2 Merge remote-tracking branch 'origin/master' into worktree/pr962-mergeable-20260731 2026-07-31 16:03:36 +08:00
Wenlu Wang 9e11f438f3 Merge pull request #1035 from deepseek-harness/codex/web-default-search
feat(web): enable default search
2026-07-31 16:01:26 +08:00
Chinesezjc a7139b651c Merge remote-tracking branch 'origin/master' into feat/web-search-card
# 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/chat/ToolRow.module.css
#	packages/client/ui-conversation/src/client/chat/ToolRow.tsx
#	packages/client/ui-conversation/src/client/skeleton/DetailsPanel.module.css
#	packages/client/ui-conversation/src/client/skeleton/DetailsPanel.tsx
#	packages/client/ui-conversation/tests/chat-apply.spec.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 15:55:40 +08:00
Chinesezjc bbb94f18ec Merge remote-tracking branch 'origin/master' into feat/web-read-card 2026-07-31 15:55:39 +08:00
creatixchu e5563ae433 fix(locale): gate browser detection on window and tolerate a missing languages list
Node >= 21 exposes a global `navigator` reporting the machine's own language,
so gating detection on `navigator` let a non-browser boot of the client tree
resolve to `en` instead of the documented fallback; `window` is the browser
test. `navigator.languages` is spec-required but absent on some embedders and
older WebViews, where spreading it would throw at boot, so the walk tolerates
its absence and `navigator.language` covers that host.

The per-spec pin boilerplate collapses into one suite-level
`usePinnedBrowserLanguages('zh-CN')`, which owns the rationale in
dsh-client-test-runtime, and the English-browser e2e scenario now clears the
console warnings channel too — its page has no closing inventory spec.
2026-07-31 15:49:59 +08:00
Chinesezjc 3ee8b6c1d6 Merge remote-tracking branch 'origin/feat/web-read-card' into feat/web-cards-toolrow 2026-07-31 15:49:31 +08:00
NI0317 ee404357a4 Merge origin/master into codex/sandbox-policy-context 2026-07-31 15:46:42 +08:00
creatixchu 8714952c85 feat(web): copy values from hover cards 2026-07-31 15:38:22 +08:00
creatixchu cb754a0319 feat(locale): derive the initial Settings language from the browser
A first visit resolved to Chinese regardless of the browser: LocaleService
read `dsh.locale` and fell straight back to `zh` when nothing was stored,
ignoring the languages the browser already states it reads.

The initial locale now resolves through three ordered sources — the persisted
preference, then `navigator` (first entry of the ordered language list whose
primary subtag names a shipped locale, so `zh-Hans-CN` -> zh and `en-GB` ->
en), then `FALLBACK_LOCALE`. An explicit choice still wins and nothing writes
the detected locale back to storage, so "has the user chosen?" stays a
question only the stored value answers.

Specs asserting the shipped Chinese copy now state the browser they assume:
the web e2e scenarios open their page with `locale: ZH_BROWSER_LOCALE`, and
package specs pin it through the new `pinBrowserLanguages` test helper.
`settings-chrome.e2e.ts` gains an English-browser scenario as the
assembled-app proof.
2026-07-31 15:26:46 +08:00
kingwl c08e8d00f7 Merge origin/master into codex/web-default-search
# Conflicts:
#	apps/web/tests/scaffold.ts
2026-07-31 15:26:29 +08:00