维护者确认:#4495 拦截 worktree 任务跨项目移动
- 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
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