Skip to content

feat(workbench): task changes view and Markdown plan reading - #64

Merged
mlboy merged 2 commits into
mainfrom
feat/plan-reading
Nov 11, 2026
Merged

mlboy merged 2 commits into
mainfrom
feat/plan-reading

Conversation

@mlboy

@mlboy mlboy commented Nov 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Task changes view (read-only): a task detail gains a Changes tab listing files its checkout changed since launch (worktree or in-place folder) plus untracked files, each expandable into its diff. Main resolves the directory from its own task record (renderer sends only the task id), runs git read-only (no optional locks / fsmonitor / pager / external diff / textconv) and caps output. Launch commit persisted in tasks.json (documented in credentials-and-local-storage.md).
  • Plan reading: coordinator replies render as Markdown (file paths still link, code blocks collapsible); long or plan-shaped replies open as a document. Markdown preview gains a table of contents, follows the file while open, and opens relative links within the same folder.

Security

  • New IPC workbench:task-changes with assertTrustedSender + payload validation; no write capability.
  • Markdown still renders to text nodes only; no HTML, no images loaded, only http(s) external links; relative links resolved inside the folder and re-confined by main.
  • No CSP / preload capability widening.

Verification

  • pnpm test:unit 1565 passed, typecheck clean, check:i18n-glossary, check:version, check:dco pass.
  • Manually checked in the dev app (demo repo + demo session); dark mode not visually verified.

A task's detail gains a Changes tab: the files its checkout changed against
the commit it started from (worktree or in-place folder), plus untracked
files, each expandable into its diff. Main picks the directory from its own
task record (the renderer sends only the task id), runs git read-only
(no optional locks, fsmonitor, pager, external diff or textconv) and caps
the result by file count, per-file and total size. The launch commit is
persisted in tasks.json.

Signed-off-by: mlboy <mlboy@126.com>
Coordinator replies render as Markdown (paths still link to files, code
blocks stay collapsible), and a long or plan-shaped reply opens as a
document. The Markdown preview gains a table of contents, follows the
file while open, and opens relative links inside the same folder.

Signed-off-by: mlboy <mlboy@126.com>
@mlboy
mlboy merged commit 356fbac into main Nov 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant