Files
deepseek-harness/apps/web/tests/expected/forge-panel/panel.expected.md
T
Yichen Jiang d0fc1f6458 feat(forge): show the changes of a Session and of its change requests
The forge panel opens a changes view in the right sidebar for the
checkout's local changes and for the diff of each change request.

- ForgePanelController reads local diffs in the branch, uncommitted,
  unstaged, and staged scopes through Git in the Session's read-only
  sandbox, change request diffs through the forge provider, and the text
  of a changed file to expand unchanged lines. Change request patches stay
  cached by head commit and base branch within maxCachedDiffBytes. A local
  diff over maxDiffBytes fails as forgePanel/diff-too-large, and a provider
  read over its output limit fails as too-large, which the view explains
  with a link to the code host; a gh timeout fails as unavailable.
- forge adds the diff, fileText, and fileUrl provider methods and the
  too-large failure code, and forge-github implements them with gh.
- The panel shows a local changes card that opens the view and asks the
  Agent for a change request. The view collapses files past a line
  budget, draws lines side by side or in one column with optional
  wrapping, expands unchanged lines on request, and collapses or expands
  every file from its toolbar; file headers use a bare chevron.
- The checkout row copies the worktree or project directory path, the
  refresh glyph turns while a refresh runs, change request cards keep
  their actions while collapsed, and the header entry uses the shared
  compact button.
- client-ui-forge classifies changeRequestKey and FsError as
  peer-required Host imports, which keeps forge and dsh-fs as its peers.
2026-10-20 13:34:27 +08:00

717 B
Raw Blame History

  • text: dsh-{{worktree}} 工作树 · 基于 release
  • button "复制工作树路径"
  • heading "本会话的变更请求 · 1" [level=3]
  • button "刷新状态"
  • list:
    • listitem:
      • img "变更请求状态:需要处理"
      • link "Add the pull request panel":
      • text: "#7 feat → main"
      • button "在浏览器中打开"
      • button "复制变更请求链接"
      • 'button "从本会话移除 #7"'
      • 'button "收起 #7" [expanded]'
      • button "检查 1 项失败 · 1 项通过"
      • text: 评审 等待评审 · 1 条未解决讨论 合并 无冲突
      • 'button "查看 #7 的变更:新增 128 行,删除 14 行"': 变更 +128 −14