docs: define instance data deletion

This commit is contained in:
QiuSW
2026-07-27 22:59:10 +08:00
parent 03b23045a7
commit e400172d04
10 changed files with 75 additions and 3 deletions
+12
View File
@@ -59,6 +59,18 @@ type ExecutablePicker interface {
Windows 实现只返回绝对 `.exe` 路径;用户取消返回可识别的取消错误。UI 在后台调用该契约,并以 `PathField` 和请求代次丢弃过期结果。选择成功才改写对应 Chrome/Edge 字段;同字段的搜索/选择状态和文字反馈必须独立保存,不能依赖页面底部的全局消息。
实例数据删除分成 UI 授权、占用复核和文件删除三个边界:
```go
type InstanceDataDeleter func(context.Context, InstanceRow) error
type InstanceDataRemover interface {
RemoveInstanceData(context.Context, string) error
}
```
`InstanceDataDeleter` 仅由删除确认框中默认未勾选的“同时删除 User Data Dir 中的数据”触发;它必须先复核 Chub registry 和外部 profile 占用,再调用 `InstanceDataRemover`。后者只接受绝对、非卷根且非链接的目录,目录不存在可视为已清除;它不根据进程名扫描、停止或接管浏览器。任何错误都使 UI 保留实例配置;只有数据删除成功才发布实例配置删除。
Windows 通知区域使用仅限 platform 的内部 DTO;Gio shell 不直接调用 Shell API:
```go