feat(sync): 按 Vault 持久化可移植侧栏布局
This commit is contained in:
@@ -73,3 +73,10 @@ Host 在写入 journal、捕获外部修改和上传前验证记录;未知字
|
||||
主题白名单为已安装主题标识、编辑字体与字号、行高、代码配色、六级标题字体大小与字重;偏好白名单为恢复上次库的布尔偏好、自动保存间隔、语言、编辑模式、行宽、拼写检查、Markdown 格式与最多 20 项格式预设。Rust 拒绝未知嵌套字段并限制字符串、枚举、数量和数值范围。不传输实际 Vault 路径、凭据、权限、环境变量或自定义主题程序包。目标设备缺少主题时使用内置浅色主题并显示提示。
|
||||
|
||||
前端按 Vault 和记录类别持久保存草稿、基线摘要与操作 ID;重启恢复原草稿,CAS 冲突必须选择保留本地或采用 Workspace 版本。选择期间出现新编辑时保留新编辑。远端应用不产生回流。轮询空库不自动创建设置;初始上传和合并预览显式写入当前偏好,空库下载不预写设置。
|
||||
|
||||
|
||||
## 侧栏布局记录 v1
|
||||
|
||||
`opennexus-records/v1/layout/sidebars.json` 使用 schema=1、kind=layout、id=sidebars。data 仅包含 primaryExpanded 布尔值、workspaceWidth 与 chatWidth 两个 200–520 的像素数值;允许小数以保留指针拖动结果。未知字段、窗口路径或越界宽度均拒绝。记录使用相同的 Vault 草稿、CAS 和冲突解决机制,初始上传/合并准备包含当前布局。
|
||||
|
||||
本机已有三项侧栏 localStorage 值仍作为初始偏好读取并保存,不删除来源。组件共享布局状态,远端值立即反映在侧栏;窗口可用空间不足时仅收窄渲染宽度,不改写同步偏好,恢复空间后恢复偏好宽度。布局记录不含本机窗口坐标、显示器信息、已打开文件路径或执行权限。本版本未支持的旧客户端不能被视作已验证兼容,跨版本发布兼容验收仍需覆盖新增记录类别。
|
||||
|
||||
@@ -671,3 +671,13 @@ Core 的独立数据目录目前不等于已授权 Vault。Python 旧笔记写
|
||||
- 本改动限制同时进行的后台探测数量,不能强杀陷入 OS/驱动 I/O 的线程,不作为异常退出时限证明。真实依赖超时、远端恢复和服务负载验收仍未完成。
|
||||
- 首次全量测试暴露提取代码时误删相邻 handshake 路由(1 failed / 28 passed);差异审查已恢复原路由,此失败不计为最终通过证据,最终结果另列。
|
||||
- 修正后最终 Sync 全套 29 通过、2 项依赖弃用警告,22.83 秒,包含实际四并发 100 MiB TCP 传输。日志 .build/sync-readiness-full-final.log,JUnit .build/sync-readiness-full-final.xml;完整生产化目标仍未完成。
|
||||
|
||||
|
||||
## 增量:侧栏布局进入 Vault 逻辑同步
|
||||
|
||||
- 新增 layout/sidebars 记录,Host path_for/allowed 和严格 schema 同时登记。字段白名单为 primaryExpanded、workspaceWidth、chatWidth,宽度 200–520;未知字段和路径身份拒绝。
|
||||
- 新增 Pinia layoutPreferences,将主侧栏展开与文件/对话侧栏宽度接入共享状态,沿用现有本地键读取和保存。preferenceSync 新增第三个 RecordBinding,初始种子、草稿、CAS 冲突和远端应用抑制回流使用既有机制;没有直接同步任意 localStorage。
|
||||
- SecondarySidebar 对目标宽度与可用视口宽度分开处理:调整窗口仅改变呈现,不产生同步写入;窗口恢复空间后重新使用偏好宽度。收到远端宽度时组件也重新计算本机范围。
|
||||
- 定向前端 4 项通过,包括远端布局不回流、本地布局写入、两个侧栏宽度分离、窄窗口限制不污染偏好。新增 Rust 测试覆盖布局记录完整信封/允许路径、非法宽度和设备字段拒绝。完整前端 101 文件、526 项通过,日志 .build/layout-sync-frontend.log。
|
||||
- 本轮覆盖现有侧栏布局,不代表全部逻辑数据已经完成:Skills、对话、Agent/人设、Provider 非秘密参数和安装清单仍需各自适配;真实双设备 UI 与旧版本新增记录兼容验收尚未完成。
|
||||
- 最终 desktop Rust 全目标 137 通过、12 ignored(库 122、Host 8、其余集成 7),日志 .build/layout-sync-rust.log;全目标 Clippy -D warnings 与前端 type-check 均通过,日志 .build/layout-sync-clippy.log、.build/layout-sync-types.log。没有改动用户 Vault 内容,完整生产化验收仍未完成。
|
||||
|
||||
Reference in New Issue
Block a user