Commit graph

2408 commits

Author SHA1 Message Date
_Kerman
f62986c01a docs(session-projection): sync persist removal, cache root, and catalogs
- subsystem docs: drop the removed persist flag from the ProjectionDefinition
  type block (both languages).
- config-catalog regenerated (cache requires sessionProjections/sessions,
  config gains root) and the zh side synced by hand; doc graphs regenerated.
- Agent Notes: the per-session cache note records the owned root tree and
  no-persistence design; the storage-root proposal's link to it is corrected
  (two levels up).
2026-08-19 22:26:16 +08:00
_Kerman
32ed3e2bce test: adapt consumers to the cache's own root tree
The web e2e seeds no longer warm the deleted coldSnapshot; assertions do not
depend on the cache path. list-children mounts the cache with a scratch
root instead of a storage-domain backend, and drops the now-unused storage
devDependencies.
2026-08-19 22:26:08 +08:00
_Kerman
cdb4cc3c68 feat(session-projection-cache): store one projection_cache.json per session
Replace the single global session_projcache domain with a per-session
cache file inside the session's own persistence directory, resolved
through sessionPersistence.locate(meta) — the persistence backend owns
the session-directory layout, the cache service keeps every checkpoint
and cold-read responsibility.

- cachedSnapshot(meta) becomes async (one file read per session);
  coldSnapshot takes the session header so it can locate the file, with
  the stored log header remaining the identity witness.
- Backends without a per-session directory (sqlite) disable the durable
  cache: writes no-op and cold reads fall to the full-log rung. An
  obsolete global cache is never read — derived data refolds on first
  cold read (no migration).
- writeAtomic is exported from dsh-storage-json as the shared atomic
  whole-file replace primitive; api-proxy listing and subagent cold
  reads await the now-async cachedSnapshot.
- READMEs and a new Agent Note document the per-session medium.
2026-08-19 21:03:20 +08:00
Yichen Jiang
458a742cfe Merge remote-tracking branch 'origin/master' into worktree/deepseek-native-multimodal 2026-08-19 14:22:22 +08:00
07akioni
7d2982de68 Merge pull request #2695 from deepseek-harness/fix/open-file-fail
feat(web): Implement file-open failure handling in chat view
2026-08-19 14:16:37 +08:00
07akioni
2aaf760fa2 Merge pull request #2709 from deepseek-harness/feat/home-path-abbr
feat(ui-tool): integrate connection handling for POSIX home path abbreviation
2026-08-19 14:16:08 +08:00
Chinesezjc
6079181d1a Merge pull request #2673 from deepseek-harness/fix/web-feedback-note-popover
fix(feedback): float the note editor in a popover
2026-08-19 13:59:30 +08:00
Chinesezjc
e2ee5c0f5d feat(feedback): float the note editor in a popover, not inline in the actions row
The message-feedback note editor previously expanded inline inside the
assistant message's shared IconActions row, overflowing the row at every
viewport and pushing the branch action and the clock out of the column.
Rework it into a portable popover: the note editor is a fixed-position panel
portaled to document.body and anchored to the note trigger, so the row keeps
its single 28px line whether the editor is open or not and the panel escapes
the column's overflow clip.

The like/dislike buttons and the note trigger stay in the row unchanged; the
trigger toggles the popover (textarea + Save/Cancel + note-save failure) which
auto-focuses the input and closes on Escape or an outside click, returning
focus to the trigger. Rating/list-load failures surface in the row, note-save
failures inside the popover. Reuse the Menu portal surface tokens and add
@types/react-dom so the createPortal usage typechecks.

Layout e2e sweeps six viewports and pins that opening the editor leaves the
row's overflow, line count, and out-of-column items unchanged, and that the
panel is outside the column, within the viewport, and anchored to its trigger.
Unit tests cover the popover's portal-to-body, toggle, Escape/outside-click
dismissal, and unmount early-returns.
2026-08-19 13:49:30 +08:00
Yichen Jiang
cd7e45ced6 Merge remote-tracking branch 'origin/master' into worktree/deepseek-native-multimodal 2026-08-19 12:35:05 +08:00
07akioni
11ed98de55 Merge remote-tracking branch 'origin/master' into fix/open-file-fail 2026-08-19 12:27:34 +08:00
07akioni
149d4ba01c Merge remote-tracking branch 'origin/master' into feat/home-path-abbr 2026-08-19 12:24:40 +08:00
Yichen Jiang
7078918b30 feat(llm-deepseek): support multimodal requests 2026-08-19 11:39:52 +08:00
creatixchu
fcaa0efec5 Merge remote-tracking branch 'origin/master' into worktree/command-attachment-envelope 2026-08-19 11:11:15 +08:00
Chinesezjc
657f52eb21 Merge pull request #1787 from deepseek-harness/feat/plan-narrow-viewport-regression
fix(web): wrap the composer control row so the plan chip never overlaps the model trigger
2026-08-19 10:50:54 +08:00
Dudu-0223
6b4df99c44 fix multi-query web search review feedback 2026-08-19 10:33:43 +08:00
Dudu-0223
b06722e2d4 support bounded multi-query web search 2026-08-19 10:33:43 +08:00
imccyu
ef75b6ff2f perf(ci): parallelize coverage and web snapshots in-job 2026-08-18 21:15:20 +08:00
07akioni
92a60f87b0 Merge remote-tracking branch 'origin/master' into fix/open-file-fail 2026-08-18 20:14:56 +08:00
07akioni
6a5118eb5c fix: ci 2026-08-18 19:44:03 +08:00
07akioni
bd41b3cbc7 Merge remote-tracking branch 'origin/master' into feat/home-path-abbr 2026-08-18 19:42:01 +08:00
pku-xht
c119710560 Merge pull request #2579 from deepseek-harness/codex/installable-codex-provider
feat(subagent): make Codex provider directly installable
2026-08-18 19:37:21 +08:00
pku-xht
1df24165d0 Merge pull request #2392 from deepseek-harness/codex/installable-product-subagents
feat(subagent): make Claude Code provider directly installable
2026-08-18 19:33:03 +08:00
07akioni
dd3ea3db2e fix: ci 2026-08-18 19:31:12 +08:00
pku-xht
a54e58d504 Merge codex/installable-product-subagents into codex/installable-codex-provider 2026-08-18 19:26:11 +08:00
07akioni
20a5f5a3ee feat(ui-tool): integrate connection handling for POSIX home path abbreviation 2026-08-18 19:25:13 +08:00
pku-xht
0f734991e1 test(web): refresh product subagent skill rendering 2026-08-18 19:19:58 +08:00
07akioni
2442e63360 fix: cr 2026-08-18 19:14:20 +08:00
07akioni
0148c9bef6 Merge remote-tracking branch 'origin/master' into fix/open-file-fail 2026-08-18 19:06:27 +08:00
pku-xht
89e09b0023 Merge codex/installable-product-subagents into codex/installable-codex-provider 2026-08-18 18:59:40 +08:00
07akioni
4037762dc0 fix: build 2026-08-18 18:57:37 +08:00
07akioni
b1be9e93cd fix: optimize ui 2026-08-18 18:54:18 +08:00
pku-xht
02a32d93f2 Merge master into codex/installable-product-subagents 2026-08-18 18:47:34 +08:00
Chinesezjc
0b42971d0c Merge pull request #2628 from deepseek-harness/fix/locale-default-english
fix(locale): open in English when the browser names no shipped language
2026-08-18 18:37:11 +08:00
pku-xht
1ec9c0c4a6 Merge codex/installable-product-subagents into codex/installable-codex-provider 2026-08-18 18:29:37 +08:00
pku-xht
67266b07cf Merge master into named Codex instances 2026-08-18 18:17:16 +08:00
Chinesezjc
6f0681f1ab Merge branch 'master' of github.com:deepseek-harness/deepseek-harness into fix/locale-default-english
# Conflicts:
#	packages/client/locale/tests/apply.client.spec.ts
#	packages/client/ui-agent-preset/tests/apply.client.spec.ts
#	packages/client/ui-settings-general/tests/apply.client.spec.ts
#	packages/client/ui-settings-models/tests/apply.client.spec.ts
#	packages/client/ui-settings-plugins/tests/apply.client.spec.ts
#	packages/client/ui-theme/tests/apply.client.spec.ts
2026-08-18 18:16:33 +08:00
Chinesezjc
8c7d8ad33f Merge remote-tracking branch 'origin/master' into feat/plan-narrow-viewport-regression
# Conflicts:
#	apps/web/tests/scaffold.ts
2026-08-18 18:15:38 +08:00
pku-xht
b1a895640e Merge master into codex/installable-product-subagents 2026-08-18 18:11:42 +08:00
Yichen Jiang
6c16d29b24 Merge pull request #2613 from deepseek-harness/feat/web-settings-describe-mirror
refactor(client): serve every settings consumer from one describe mirror
2026-08-18 17:58:26 +08:00
pku-xht
9e8a620f61 Merge named Claude instances into named Codex instances 2026-08-18 17:52:10 +08:00
pku-xht
fd4b1c428a Merge Codex permission modes into named Claude instances 2026-08-18 17:44:39 +08:00
07akioni
aab839a971 feat(web): Implement file-open failure handling in chat view 2026-08-18 17:39:38 +08:00
Chinesezjc
0fe31f11a3 fix(locale): correct two stale product-default-Chinese comments
Chinese is no longer the product default since FALLBACK_LOCALE moved to en
in this branch. connectFreshWorkspaceZh and the access-confirmation scenario
both reach the Chinese surface by advertising ZH_BROWSER_LOCALE, not by
inheriting a default, so their comments must say so.
2026-08-18 17:39:06 +08:00
Chinesezjc
e78fdf05fe Merge branch 'master' of github.com:deepseek-harness/deepseek-harness into fix/locale-default-english 2026-08-18 17:38:33 +08:00
Yichen Jiang
455cd2630a Merge remote-tracking branch 'origin/master' into worktree/web-pi-ai-retry-default 2026-08-18 17:38:19 +08:00
pku-xht
50ba75762b Merge pull request #2607 from deepseek-harness/codex/workflow-manual-disclosure
feat(workflow): let users control run and phase disclosures
2026-08-18 17:30:06 +08:00
Yichen Jiang
2ae1a4ebc7 Merge remote-tracking branch 'origin/master' into worktree/web-pi-ai-retry-default
# Conflicts:
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	packages/llm/llm-pi-ai/README.i18n.yaml
#	packages/llm/llm-pi-ai/README.md
#	packages/llm/llm-pi-ai/README.zh.md
#	packages/llm/llm-pi-ai/src/config.ts
2026-08-18 17:07:05 +08:00
creatixchu
d71f744c16 Merge remote-tracking branch 'origin/master' into worktree/command-attachment-envelope 2026-08-18 16:58:46 +08:00
Yichen Jiang
03fd7c003b test(web): update retry status golden 2026-08-18 16:57:31 +08:00
Yichen Jiang
dc4ffabb53 Merge remote-tracking branch 'origin/master' into worktree/web-pi-ai-retry-default 2026-08-18 16:33:33 +08:00