[Feature][Mobile] 自动化绑定会话失效时提示重新选择并阻止保存
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 395
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
## 背景
PR makecindy/cindy-temp#393 / issue makecindy/cindy#6 在 Desktop 侧通过本地 session reference 解析识别自动化绑定会话的 deleted / missing 状态,但 Mobile 自动化编辑器仍允许保留或手动输入任意 `targetSessionId`。共享表单校验目前只拒绝 pending 占位值,因此失效绑定可再次保存,并在下次运行时被 scheduler 暂停。
Mobile 通过设备连接访问远端数据,不能直接复用 Desktop 的本地 SQLite IPC;需要独立设计跨端 reference 查询与刷新链路。
## 期望
- Mobile 编辑普通绑定自动化时,能识别 deleted / missing 的目标会话。
- 失效绑定有明确提示,并要求重新选择或解除绑定。
- 失效绑定不会被保存到普通 bound 自动化。
- Script 模式转换不应被残留的 `targetSessionId` 阻塞。
- 单个删除、批量删除和远程删除后的状态最终一致。
## 验收标准
- 增加 Mobile / shared 层回归测试,覆盖 deleted、missing、重新选择与 Script 转换。
- 状态解析走设备权威数据源,不依赖当前列表是否已分页加载。
- 不改变 Desktop PR makecindy/cindy-temp#393 已有的本地 IPC 语义。
关联:#10、#393。
Contributor guide
Research direction
Start by locating the Mobile and shared-layer automation validation, reference-query, and refresh entry points; no specific files or tests are named in the issue. Trace how device-authoritative session data handles deleted and missing sessions, then add the requested Mobile/shared regression coverage. Done means invalid bindings are rejected with a recovery prompt, Script conversion remains possible, and local, batch, and remote deletions converge.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100