Skip to content

ref(native): 收拢生命周期、展示状态与原生验收入口 - #7

Draft
xiaoland wants to merge 3 commits into
mainfrom
feat/maintainability-review
Draft

xiaoland wants to merge 3 commits into
mainfrom
feat/maintainability-review

Conversation

@xiaoland

@xiaoland xiaoland commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

目录监视原先由 Model 与 Monitor 共同维护扫描状态和 security scope 寿命;Capture 的 Host 页面、编辑页与窗口引用也需要调用方逐项同步。本 PR 收拢这些职责,降低停止、恢复和窗口晚到时的修改联动,并让原生数据库验收从空库重放。

  • DirectoryMonitor 自己解析/续订书签、取得/释放访问权、轮询 Job、合并变更及等待扫描结束。Model 只发出 refresh/stop,不再读取内部扫描状态决定调度。
  • Host 一次提交当前页面与窗口;Capture 使用动态弱窗口引用,并保留实际编辑 pane 对菜单/快捷键的限制。晚到窗口、替换窗口、停用恢复、实际记录菜单动作均有行为保护。
  • 两个原生扩展从各自随包 manifest 读取身份;Application.json 统一版本/build 输入,打包和 Peer 注册消费实际应用版本。
  • CI 与本地共用一次性 PostgreSQL 入口,固定 impl-py 权威迁移 revision,不复制 schema;AppKit 用例显式串行,数据库缺条件时明确跳过。
  • 保留前批队列冻结顺序修复。未发行的 SQLite v1 按现有 AGENTS 约束明确拒绝并保留原文件,不用不可靠时间字段伪造顺序。
  • 新空库 CI 揭示并复现取消挂起:驱动在已关闭连接上提交查询/回滚可永不完成。PeerCore 的窄连接接口在同一 event loop 检查与发送,等待 closeFuture 后归还借用,保留普通回滚、关闭错误分类及提交结果不确定时的核对政策。会话启用受支持的断连检测并保留原 30 秒查询超时。

验证:

  • 最终默认检查通过:72 项/12 suites,其中 7 项数据库用例明确跳过;固定 impl-py 9031f7e 从空库初始化后 72 项全部通过。
  • 目录监视交错验收覆盖远端 Job 唤醒、多次变更合并、并发 stop 等待及停止后不再发布结果。
  • universal app/DMG 构建成功;arm64/x86_64、manifest/版本一致性、严格 ad-hoc 签名及 DMG 校验通过。
  • 缺运行条件与非 disposable descriptor 均被入口拒绝;任务创建的 cluster 已清理。
  • 取消/查询间中断/普通事务回滚共 30 轮窄验收通过,同时观察服务端长查询消失。超时进程清理覆盖自行 setsid 且忽略 TERM 的 helper;测试入口有明确时限,超时仍失败,不以吞错获得绿色。

最终提交 ba40596 的远端 CI 全部通过,包含干净依赖安装、固定权威迁移与完整原生数据库验收;首次 CI 揭示的取消挂起已有修复和反证验收。

限制:查询现在返回缓冲的原始行,逐行解码并检查取消,已去掉额外整批 tuple 数组,但大目录仍可能比原流式读取有更高峰值内存。closeFuture 不代表服务端回滚确认;连接检测有平台/网络条件,保留查询超时兜底。AppKit 对象和动作政策用例不证明实际桌面焦点、系统授权或跨应用快捷键;未进行发行签名、公证或正式发布。

发行对象仍是同一 Mac 应用及随包原生扩展;无共享数据库迁移。旧开发格式按现有产品约束保留文件并拒绝,不能把代码回退视作 v2 数据降级转换。

跨仓跟踪:InKCre/impl-py#167;相关 draft PR:InKCre/impl-py#168、InKCre/impl-ts#181、InKCre/ext-reg#68。无堆叠父子依赖;固定权威数据库基线仍在 origin/main,未合并或部署。

- 在冻结事务内分配入队序号,重试与列表排序不再改变派发顺序
- 由每个目录监视器拥有事件合并、扫描、任务收束和目录访问释放
- 补充真实存储与界面流程验证,记录本机格式 v2 的开发数据边界
@xiaoland xiaoland changed the title fix(extensions): 固定采集待办顺序并集中目录监视生命周期 ref(native): 收拢生命周期、展示状态与原生验收入口 Oct 31, 2026
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