Commit Graph
58 Commits
Author SHA1 Message Date
yudshj 2e6370fe1d feat(sidebar): 按分栏保留文件树并由挂载插件处理打开 2026-10-29 15:32:16 +08:00
Yichen Jiang dc169c71e7 Merge pull request #7482 from deepseek-harness/worktree/forge-review-navigation-checks
fix(forge): deduplicate checks and improve review navigation
2026-10-29 11:47:17 +08:00
Yichen Jiang 4590c39d0a test(forge): cover check list cancellation and summaries 2026-10-29 11:37:53 +08:00
Yichen Jiang a2fbf61170 test(forge): allow additional configured Git filters 2026-10-29 11:34:07 +08:00
Yichen Jiang 4f40200ed8 fix(forge): clarify filter failures and query guarantees 2026-10-29 11:16:34 +08:00
Yichen Jiang f08ad306cc fix(forge): load complete checks on demand per pull request 2026-10-29 11:10:35 +08:00
Yichen Jiang 2d709ab5be fix(forge): address check states and review accessibility 2026-10-28 17:45:32 +08:00
Yichen Jiang 2b9511548b fix(forge): honor session permissions for Git inspection 2026-10-28 16:54:20 +08:00
Yichen Jiang 2cb769b430 fix(forge): deduplicate checks and improve review navigation 2026-10-28 16:38:40 +08:00
Yichen Jiang 39a268c982 Merge remote-tracking branch 'origin/master' into worktree/fix-forge-session-list-status
# Conflicts:
#	packages/experimental/client-ui-forge/README.i18n.yaml
2026-10-28 15:25:18 +08:00
Yichen Jiang 50f3f50e1e fix(forge): preserve review position across hidden layouts 2026-10-28 14:51:04 +08:00
Yichen Jiang 5db62649db fix(forge): restore session list status after reconnecting 2026-10-28 14:31:14 +08:00
Yichen Jiang fd138a1975 test(forge): select code text when checking arrow navigation guards 2026-10-28 14:08:59 +08:00
Yichen Jiang cf29844580 feat(forge): navigate diff files with horizontal arrow keys 2026-10-28 14:03:33 +08:00
Yichen Jiang 1db4d6a96d fix(forge): preserve requested bases and accessible branch details 2026-10-28 13:43:16 +08:00
Yichen Jiang aab3033c37 Merge master into worktree/forge-ui-polish 2026-10-28 13:16:42 +08:00
Yichen Jiang 9a796304e4 Merge pull request #7452 from deepseek-harness/worktree/forge-review-tree-comments
feat(forge): add file tree and inline review comments
2026-10-28 13:02:57 +08:00
Yichen Jiang 3ac8daef66 fix(forge): clarify worktree controls and align change panels 2026-10-28 12:34:58 +08:00
Yichen Jiang 822aef2804 test(forge): cover review interactions and failure recovery 2026-10-28 12:32:47 +08:00
Yichen Jiang bd1c30cd81 feat(forge): add file tree and inline review comments 2026-10-28 11:42:45 +08:00
imccyu 00d541438b release(dsh): 0.2.2-alpha.2 2026-10-28 02:03:15 +08:00
imccyu 69c389ae11 release(dsh): 0.2.2-alpha.1 2026-10-28 00:00:58 +08:00
Yichen Jiang 6300195071 Merge pull request #7378 from deepseek-harness/worktree/forge-diff-review-state
fix(forge): preserve diff review state and copy header paths
2026-10-27 11:00:22 +08:00
Yichen Jiang 17b9e1536d fix(forge): release inactive diff subscriptions and menus 2026-10-27 10:46:40 +08:00
imccyu d534e65692 release(dsh): align master packages with 0.2.1-rc.4 2026-10-27 02:23:17 +08:00
Yichen Jiang f92fadd30c Merge remote-tracking branch 'origin/master' into worktree/forge-diff-review-state
# Conflicts:
#	packages/experimental/client-ui-forge/README.i18n.yaml
#	packages/experimental/client-ui-forge/README.md
#	packages/experimental/client-ui-forge/README.zh.md
2026-10-26 22:38:20 +08:00
Yichen Jiang c1b1d9b71f fix(forge): keep retained diffs from scroll anchoring on session switches 2026-10-26 22:08:57 +08:00
Yichen Jiang 57716b544f fix(forge): preserve diff review state and copy header paths 2026-10-26 21:44:38 +08:00
Yichen Jiang a941288b74 fix(forge): use the existing storage helper dependency classification 2026-10-26 21:35:20 +08:00
Yichen Jiang d82b72b3d7 test(forge): cover cancellation with shared list readers 2026-10-26 21:25:53 +08:00
Yichen Jiang e99a597b16 fix(forge): drain list state streams and refresh reopened requests 2026-10-26 21:22:30 +08:00
Yichen Jiang a36d02a596 Merge master into worktree/forge-session-list 2026-10-26 21:17:53 +08:00
Yichen Jiang 2fa853870f fix(forge-panel): register all shipped locale dictionaries 2026-10-26 19:34:16 +08:00
Yichen Jiang 1f54902e3b fix(forge-panel): drain worktree operations before releasing readers 2026-10-26 17:58:53 +08:00
Yichen Jiang 000583c135 fix(forge-panel): retain incomplete worktree recovery across reloads 2026-10-26 17:58:51 +08:00
Yichen Jiang 2384f52719 fix(forge-panel): hide the actual docked or floating tab 2026-10-26 17:57:14 +08:00
Yichen Jiang ccf509205f fix(forge-panel): release cached state with its Session scope 2026-10-26 17:57:12 +08:00
Yichen Jiang fa2dbbd8fd fix(forge-panel): format change counts in the selected locale 2026-10-26 17:57:11 +08:00
Yichen Jiang 04db213ad9 fix(forge-panel): pin merge confirmation to the reviewed head 2026-10-26 17:57:09 +08:00
Yichen Jiang 4969525f33 fix(worktree): remove only the missing target registration 2026-10-26 17:57:07 +08:00
Yichen Jiang e342b7cbf9 fix(forge-panel): label worktrees with their current HEAD 2026-10-26 17:52:33 +08:00
Yichen Jiang 3d29275e63 fix(forge-panel): cancel and join failed Git inspections 2026-10-26 17:52:32 +08:00
Yichen Jiang 5a1f5a657b fix(forge): follow the corner-shape rule and the README summary budget
- The checks dot in the Session list pairs its full-round radius with
  corner-shape: round, as the ui-theme stylesheet gate requires.
- The client-ui-forge README summary fits the 100-word budget again
  after the merge combined both branches' descriptions.
2026-10-24 22:12:18 +08:00
Yichen Jiang 53d8a336f7 Merge commit 'bf1df01ae99' into worktree/forge-session-list
Brings the Session list branch up to date with the forge panel, whose
held messages now wait at inbox insertion.

- client-ui-forge keeps the Session list's remote-access import and the
  panel's messageOf; the agent-controller import is gone.
- The README and the forge panel Agent Note combine both sides: the
  forgeWorktree projection keeps its client view next to the inbox hold,
  and the Session list paragraphs stay.
- The config catalog is regenerated, and the README, forge subsystem
  page, and Agent Note pairings are recorded again.
2026-10-24 22:02:44 +08:00
Yichen Jiang 7fbdf4938a fix(forge): follow master's shipped languages and release version
- The panel and the forge bundle ship Spanish, French, German, Russian,
  and Portuguese titles and descriptions.
- Their versions follow the root release version 0.2.1-rc.3.
2026-10-23 14:51:41 +08:00
Yichen Jiang 4b07c32b93 fix(forge): follow master's hover, tooltip, and plugin metadata rules
Master now limits CSS hover styles to hover-capable primary input, opens
tooltips from pointer events, requires a model on every Agent and a model
selection on agent/pre-step, and requires Japanese plugin metadata.

- The panel's hover styles move under @media (hover: hover); expanded,
  pressed, and focus-visible styles stay outside it.
- The hover tests enter with pointer events.
- The test Agent carries an unsupported model, and proposed steps carry a
  model selection.
- The panel and the forge bundle ship Japanese titles and descriptions.
2026-10-22 17:45:15 +08:00
Yichen Jiang eea6d3b7ec feat(forge): hold a sent message until the Session's worktree is ready
The agent-controller admission hook was reverted on master, so the forge
panel now holds the next Turn with Agent maintenance started from the
agent/inbox/inserted notification. The message stays in the inbox until
the hold ends.

- A message sent before the requested worktree exists waits while the
  panel creates it. After a failed or stopped attempt the message keeps
  waiting until the card retries, through the new
  forgePanel.retryWorktree, or withdraws the request so the message goes
  on in the project directory.
- A message sent after the Session's worktree was removed waits on the
  missing card until the worktree is restored or the Session returns to
  the source checkout.
- Restoring a worktree reports its prepare and checkout steps. The card
  shows them in place of its actions, and the tab's restore action shows
  a spinner while it runs.
- The panel state names what a waiting message waits for and the running
  restoration; the agent-controller dependency is removed.
2026-10-22 17:17:55 +08:00
Yichen Jiang 4916ce9bff feat(forge): show worktree and change request state in the Session list
The branch label left the Session header, and finding which Sessions
work in their own worktrees, or which of their change requests need
attention, meant opening each Session's tab.

- A Session row shows a branch glyph while the Session works in the
  worktree the panel created for it, and the state glyph of its most
  urgent change request with a dot for its checks. The row's hover card
  names the worktree branch and its base, then up to three change
  requests with their state and checks.
- The forgeWorktree projection follows the Session's working directory;
  its client view is the created worktree while the Session works in
  it. The forgeChangeRequests projection gains a client view with the
  bindings, so the Session summary carries both without loading a
  Session.
- The forgePanel.changeRequestStates stream serves the states of the
  change requests every listed Session binds from one Host run. It
  polls each until it is merged or closed and stores every change in
  the forge_panel_change_requests storage domain, so a restart shows
  the last known states before the next poll.
- A new Agent Note records the decision; the READMEs, the forge
  subsystem page, and the catalogs follow.
2026-10-22 15:10:29 +08:00
Yichen Jiang 2ee6dfb671 feat(forge): name changed files before their directories and drop the header branch label
The changes view cut each changed path from its end, so a long path lost
its file name, and the Session header's branch label crowded the actions
beside the title.

- A changed file in the files menu, a file's header, and the local
  changes card shows its name, then its directory in smaller subdued
  type. The directory shortens first, then the name shortens in the
  middle and keeps its end; hovering shows the complete path, and both
  paths of a renamed file. Assistive technology reads the complete path.
  A rename badge names the old file name, or the old path when only the
  directory changed.
- The checkout row draws a folder for the project directory and a
  branch for a worktree.
- The Session header no longer carries the branch label; the tab's
  checkout row names the branch, the kind of checkout, and its path.
- The README describes the collapsed strip of a large file, and the
  forge bundle README lists the gh commands and branches that bind
  change requests.
2026-10-20 18:15:10 +08:00
Yichen Jiang 32fa63c4e7 fix(forge): draw merged change requests in violet and drafts as drafts
The panel colored merged change requests with the brand blue, which the
theme offered in place of the violet the panel design uses, and drew a
draft with failed checks, requested changes, or conflicts as needing
attention instead of as a draft.

- ui-theme adds the violet-400 and violet-600 static steps and the
  --dsw-alias-state-done-primary alias for finished work: violet-600 in
  the light palette and violet-400 in the dark palette.
- The merged glyph, the collapsed merged line, and the expanded status
  row of a change request card use the new alias.
- An open draft always draws the draft glyph. Only an open change
  request that is not a draft is drawn as needing attention, so a draft
  no longer lights the header button's red dot.
2026-10-20 14:46:39 +08:00