Commit Graph

8033 Commits

Author SHA1 Message Date
creatixchu
4e3d059dd4 Merge remote-tracking branch 'origin/master' into worktree/locale-browser-default 2026-07-31 17:23:39 +08:00
Tianyi Cui
7e07d0179d Merge pull request #799 from deepseek-harness/codex/status-bar-token-metrics
feat(web): show durable token usage and context occupancy
2026-07-31 17:17:44 +08:00
creatixchu
8f67db4676 Merge remote-tracking branch 'origin/master' into worktree/locale-browser-default 2026-07-31 17:11:05 +08:00
Hypatia May
e5232adcf3 Merge remote-tracking branch 'origin/master' into worktree/pr799-merge-20260731-final
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-31 17:10:25 +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
Hypatia May
1974825381 Merge remote-tracking branch 'origin/master' into worktree/pr799-merge-20260731-final
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-31 17:02:46 +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
Hypatia May
f817c62baa test(web): refresh search stats golden after master merge 2026-07-31 17:01:16 +08:00
creatixchu
541c633c9a Merge remote-tracking branch 'origin/master' into worktree/locale-browser-default 2026-07-31 17:01:11 +08:00
CreatixChu
85e766fa89 Merge pull request #1064 from deepseek-harness/worktree/hide-message-edit
cleanup(web): drop the unimplemented user-message edit control
2026-07-31 16:58:58 +08:00
Hypatia May
a23a6bdd15 Merge origin/master into codex/status-bar-token-metrics
Resolve the agent-loop import conflict by retaining both durable request context and runtime policy context. Refresh the combined session fixtures and regenerate documentation catalogs. Mark PDF artifacts as binary so staged whitespace checks do not parse PDF bytes as text.
2026-07-31 16:53:03 +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
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
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
creatixchu
c7f706acba Merge branch 'master' into worktree/locale-browser-default 2026-07-31 16:34:06 +08:00
creatixchu
2e16352777 docs(ui-conversation): keep the module header and README at current state 2026-07-31 16:34:03 +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
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
Tianyi Cui
1b59b3fc19 test(web): include context injection in search golden 2026-07-31 16:14:31 +08:00
Chinesezjc
6f4897f28e Merge remote-tracking branch 'origin/master' into feat/web-search-card 2026-07-31 16:05:16 +08:00
Chinesezjc
21cd241177 refactor(ui-conversation): extract shared toolview row-status helpers
SearchRow (this PR) and FileMutationRow (landed on master) independently carry
byte-identical rowStateStatus + rowResultText helpers, which the duplication gate
flags once both are present. Extract both into contract/toolview-status.ts and
consume them from both rows, deleting the clone rather than nudging it under the
threshold.
2026-07-31 16:04:45 +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
Tianyi Cui
3826fe2c2d Merge pull request #1060 from deepseek-harness/docs/paper
docs: add cordis paper
2026-07-31 16:00:29 +08:00
Tianyi Cui
810a2a571c Merge pull request #1022 from deepseek-harness/codex/compact-english-checkpoint
fix(compact): stabilize checkpoint language
2026-07-31 15:57:49 +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
Tianyi Cui
a285e292c8 Merge origin/master into codex/sandbox-policy-context 2026-07-31 15:57:10 +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
Shigma
ea93cf85f1 docs: add cordis paper 2026-07-31 15:54:36 +08:00
imccyu
fb7f8cc245 Merge branch 'master' into codex/status-bar-token-metrics 2026-07-31 15:54:20 +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
Turtle
a21d6c0c5b Merge pull request #1054 from deepseek-harness/worktree-infdev01
Anchor storage-json root to $DSH_HOME/storages
2026-07-31 15:49:10 +08:00
NI0317
da72e61251 test(web): include runtime context in loading golden 2026-07-31 15:47:05 +08:00
NI0317
ee404357a4 Merge origin/master into codex/sandbox-policy-context 2026-07-31 15:46:42 +08:00
Chinesezjc
50a625890f fix(web-read-card): mark read-row summary chrome jscpd:ignore
The keyed toolviews (read, file-mutation, web) each draw the same ToolRow
summary-line chrome; the read row's copy trips the duplication gate against the
file-mutation row. Extracting the shared row is a separate change tracked for
all rows at once, so this scopes the exemption to the read row's block.
2026-07-31 15:46:27 +08:00
Tianyi Cui
7906c1032f Merge pinned master into status bar token metrics 2026-07-31 15:41:52 +08:00
imccyu
a3b65f7e9c Merge branch 'master' into worktree-infdev01 2026-07-31 15:30:42 +08:00
Tianyi Cui
66f8cc074e Merge pull request #1027 from deepseek-harness/pr/adapter-registration-race
fix(tui): defer model-context resolution on the adapter-registration race
2026-07-31 15:29:09 +08:00
imccyu
d4250e927c doc: record the duplicated home-resolution expression and its extraction trigger 2026-07-31 15:27:42 +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
Tianyi Cui
b2146d6298 Merge branch 'master' into pr/adapter-registration-race 2026-07-31 15:24:43 +08:00
Chinesezjc
1c58d8daeb Merge pull request #974 from deepseek-harness/feat/search-presenter
feat(fs): add a search render-intent card for grep and glob results
2026-07-31 15:24:22 +08:00
Tianyi Cui
81e5ee7e3e Merge branch 'master' into pr/adapter-registration-race 2026-07-31 15:22:35 +08:00
NI0317
1beb38554e fix(review): align runtime-context diagnostics and docs 2026-07-31 15:19:59 +08:00