Skip to content

feat(mac): 原生 PostgreSQL Peer 与 Capture first-party 扩展 - #1

Draft
xiaoland wants to merge 6 commits into
mainfrom
feat/mac-capture-peer-review
Draft

xiaoland wants to merge 6 commits into
mainfrom
feat/mac-capture-peer-review

Conversation

@xiaoland

@xiaoland xiaoland commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Mac 作为独立 Peer 提供原生采集、编辑、收入与恢复,通过 PostgresNIO 直接访问 PostgreSQL。Python Peer 和 PostgREST 均不是收入条件;Capture 业务属于独立 first-party Swift 分发,通用 Core 不包含采集业务。

实现

  • Packages/PeerCore 提供原生数据库连接池、同连接事务、标准图/bytea Storage、Keychain、Host 配置与扩展生命周期。Sources/InKCreApp 是有 Dock 图标、普通主窗口及菜单的 regular Mac Host。
  • extensions/capture 独立拥有材料、来源、Mac 采集界面、SQLite 草稿/待办、构图与恢复;精确 inkcre/capture、swift_bundled 分发随签名应用交付。停用等待队列/AX/截图任务收束并撤下入口,Host 连接设置仍可用。
  • 同一事务检查参与、锁定 UUID、写图/原图与摘要回执。重试先查回执,不替换原 UUID、材料或数据库目标;根删除和参与移除不自动复活。只有核对共享回执后才清理本机材料。
  • 应用内截图复用 BetterShot 固定版本的选区、几何与冻结帧组件。ScreenCaptureKit 先冻结各屏,允许移动、八点缩放和重新框选;原生按钮、回车或双击确认,Esc/右键/按钮取消。仅从同一冻结帧裁剪确认区域,不调用 Apple 截图工具栏。
  • 实现尚未发布,删除旧 HTTP/JWT/回执与本机格式兼容路径;旧开发文件原位保留,不导入或清空。

采集体验

  • 主窗口使用 NavigationSplitView/原生工具栏,⌘⌥S 与侧栏按钮共用状态。辅助面板与主窗口共用一份草稿;移除材料及本机删除先确认,没有软删除或撤销移除。
  • ⌘, 打开唯一的原生设置窗口。无连接时点击收入会进入连接表单,保存或取消均返回同一草稿及原编辑位置,保存不自动提交。当前连接编辑直接更新 Capture,不重启扩展。
  • 历史待办“更新密码…”只修改原目标的 Keychain 项,再按原身份重试;“配置 Web 地址…”只修改该已收入记录的展示地址。两者均不会把当前信息库切回历史目标。
  • 手写想法使用一个主要输入区;原文和可选附注分开,附注按需展开,已有附注默认可见。图片支持系统 Quick Look,单张图片按可用区域完整缩放,快捷面板最小内容尺寸为 500 × 500。未收入记录可展开全部原文、图片、来源及附注。
  • 上次收入状态与当前草稿保存状态分开,“查看记录”定位对应条目;继续写下一条不会失去上次收入入口。缺少凭据、等待恢复、确认成功等状态仍按真实队列结果显示。
  • 五项采集快捷键分别可配置,菜单与按键共用可用条件;保留窗口、编辑和导航的标准命令。

验证

  • Swift 常规套件 49 项执行通过,1 项真实数据库集成跳过。新增旅程验证涵盖连接保存/取消返回同一草稿、历史 A 密码恢复不改变当前 B、恢复先于提交、Web 地址仅改展示元数据,以及收入后继续写作并定位原记录。
  • 实际 AppKit/SwiftUI 生产视图离屏导出并人工检查:最小主窗口和快捷面板、明暗模式、手写想法、图片与附注、长原文、收入反馈、失败记录/完整材料及设置表单。图像预览临时文件核对原始 bytes 与权限。没有操作用户桌面;Quick Look 的系统窗口打开与关闭尚未做前台验收。
  • 既有隔离 PostgreSQL 集成已验证独立原生提交、并发幂等、原图读回、事务回滚、重开 SQLite 恢复、冲突、删根与参与移除。此次 UI 增量未重跑数据库或 Web E2E。
  • CFBundleVersion 13 的 arm64/x86_64 universal app 和 DMG 使用获准 Apple Development 身份构建,严格 codesign、资源/manifest/完整许可及 DMG 校验通过。未安装、启动或公证。

许可与关联变更

原创代码使用 MIT;Cida 选区读取与协调改编保留 Apache-2.0、Xuanwo 及贡献者署名;BetterShot 三个文件固定为 7b7d00778fd972cf672242771d7a25870dd301b4,保留 BSD-3-Clause、作者及改编说明,不包含其他上游应用组件。PostgresNIO 及传递依赖的完整 LICENSE/NOTICE 随应用交付。品牌资源保留用户提供的来源,代码许可不授予商标使用权。

关联草稿 PR:数据库协议与可选 Python 读取、Web 读取、共享合同。不提前推进 Hub submodule,不合并或正式发布。

完整 anywhere 仍需真实跨应用选区/截图/输入法、多屏、Intel/最低系统与安装场景的验收;本次主流程与离屏视图检查不替代这些结论。

- 使用普通主窗口、系统侧栏工具栏和辅助快捷面板
- 支持想法、明确粘贴、选区及框选截图,五项快捷键独立配置
- 以 SQLite 冻结提交和共享回执恢复保证重试身份,凭据保存在 Keychain
- 删除改为原生确认后的直接删除,修正空态布局并接入 Mac 图标
- 删除执行 Peer 发现和委托,使用既有 PostgREST 原子提交。

- 在原生侧验证图片和材料边界,保持待办身份与回执恢复。

- 验证无 Python Peer 时提交与丢响应恢复,更新开发构建为 8。
@xiaoland xiaoland changed the title feat(mac): 重建仅提供采集能力的原生 Mac Peer feat(mac): 实现可独立写入的原生采集 Peer Oct 21, 2026
- 拆分通用 PeerCore、应用 Host 与独立 Capture Swift 分发
- 原子保存图和原图,以共享回执恢复并遵守参与启停
- 删除未发布实现兼容层,补齐 Cida 与依赖许可
@xiaoland xiaoland changed the title feat(mac): 实现可独立写入的原生采集 Peer feat(mac): 原生 PostgreSQL Peer 与 Capture first-party 扩展 Oct 21, 2026
- 固定并注明上游选区、几何与冻结帧源码及 BSD-3-Clause 许可
- 冻结画面后支持移动、八点缩放、就近确认和取消,保留材料验证与扩展停用边界
- 增加实际 AppKit 视图离屏、关键交互与原图像素检查,更新 v11 开发包
- 以 ⌘⌥S 和原生工具栏共同控制侧栏,集中连接、扩展与采集设置

- 统一快捷键与菜单可用条件,保留平台命令并修复记录预览及 Web 配置返回路径

- 增加隐藏原生窗口、实际视图渲染与关键命令检查,构建 v12 开发包
- 连接设置返回原草稿,历史待办凭据和 Web 地址编辑不切换当前信息库
- 精简输入区,提供原图与完整材料查看,保留收入状态和记录定位入口
- 验证关键旅程与实际视图,更新签名开发包至 v13
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