makecindy / makecindy/cindy

维护者确认:#4495 拦截 worktree 任务跨项目移动

Open
#4,505 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

#4495 把绑定托管 worktree 的任务从「移动到项目」静默半移动,改成在共享写路径拒绝,并在侧栏 / 会话 header 两处入口预检后弹出 toast。

## 这次改动
- 共享路径 `updateSessionInDb`:跨托管 worktree 根改 `workingDir` 时 `PRECONDITION_FAILED`,并提示需要 worktree handoff。
- GUI:目标目录确定后比较归属根;跨根则 toast 拦截,不再提交。新增 5 语文案。
- 另收口 lazy-create / live runtime 对旧 `workingDir` 快照的采纳。

## 为何需要维护者确认(product)
这不是零像素的内部修法。用户在「移动到项目」上会看到新的失败 toast,原先会完成的半移动被拦住,交互流向变了。issue #4492 已裁定拒绝而不是就地迁移,但该产品行为仍需维护者在 PR 上确认。

架构门也因核心路径 651 行、总 diff 837 行触发。同结构内补不变量与 runtime 收口,未改模块边界 / 依赖方向 / 跨包 API 形状;本轮按 product 确认,不单独因 arch 另开讨论。

## 请维护者做的事
请直接在 PR https://github.com/makecindy/cindy/pull/4495 上 **Approve**。若认为应改行为或文案,请 **Request Changes**。

---
关联 PR:#4495(作者 @zyjisdog);本 issue 由 review-pr 流程自动创建,用于先讨论该 PR 涉及的产品 / UI 变更,维护者确认后 PR 会恢复推进。

Contributor guide

Open the contributing guide

Research direction

Start by reviewing PR #4495 and the shared updateSessionInDb path; then trace the sidebar and session-header prechecks plus lazy-create/live-runtime handling of the old workingDir snapshot. Done means the cross-root move is rejected with the specified toast behavior and the maintainer confirms the product change.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
full-stack
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.