0.17.0-rc.4
Pre-release预发布版本。请勿在唯一的真实 Vault 上使用。
rc.3 的第二轮实测(Windows + iOS + Web)又揪出一批问题,这一版全部修复,
并补上两组运维增强。需要配套服务端 v0.17.0-rc.5(Web 端 LSE4 解密、
设备平台/IP 记录、运维页分享撤销都在服务端仓)。
提醒:上一轮实测的「分享页 LSN2 乱码」是部署版本问题——线上仍在跑
rc.3 的 Web 资产。请确认 compose 没有固定旧镜像标签,升级到 rc.5。
修了什么
改名后版本历史从 1 重新开始(实测 T3.2 / T3.5)
「改名后立刻编辑」时,编辑事件会把队列里的改名操作覆盖成普通上传——
新路径于是被当成全新对象从零建档,身份被重置、历史断裂(正打开在编辑器里的
笔记被改名时,Obsidian 也会顺手触发一次编辑事件,纯改名同样中招)。
现在改名操作不会被后续编辑覆盖:内容变更由推送时的「先改名、再把新内容传到
同一个对象上」处理,名字、内容、身份、历史四样都对。
时间混淆形同虚设(实测 T4.5)
窗口约束此前只加在「修改防抖」一个触发源上,而每轮同步都是拉推一体——
默认 30 秒的定时同步每次都会把队列顺手推走,混淆等于没开。
现在定时/前台/启动/重试的轮次只拉不推,上传只发生在窗口发车点或用户
显式动作。「立即同步」照旧立刻生效;拉取完全不受影响。披露文案同步修正:
延迟平均约一个窗口、最多约两个窗口。
设备被撤销后静默失败(实测 T5.2)
被撤销的设备此前把 401 当成普通网络错误无限退避,移动端连状态栏都没有,
用户毫无感知。现在凭据被拒会弹出常驻通知(不点不消失)说明「设备凭据
已失效或被撤销,请重新接入」,停止无意义的自动重试;重新接入后首次同步
成功自动恢复。
Web 只读端不认 LSE4(实测 T4.4,服务端仓)
开启大小混淆后的新文件在网页端显示乱码——Web 端没有实现 LSE4 解密。
已补齐(含 flags 认证与去填充),密钥世代与防回退检查同步覆盖 LSE4。
并发改名的收敛提示(实测 T3.4)
两台设备把同一文件改成不同名字时,收敛是对的(后改名的一方生效、同一身份、
不产生假删除),但过程是静默的。现在会有一条提示说明另一台设备的改名
已被采纳为基础。
新增
- 运维页设备列表:显示设备名称、平台(windows/ios/…)、客户端版本与
最近来源 IP。IP 只在直连方是可信代理(OBSYNC_TRUSTED_PROXIES)时
采信转发头,客户端伪造不进库。 - 分享:有效期支持「自定义…」(分钟/小时/天);运维页 Shares 卡片
新增「撤销」,「延长」改为「设置新的到期时间」(预设 + 自定义)。
已撤销的分享依旧不能通过设置到期时间复活。
测试
插件 289 条全绿(较 rc.3 新增 5 条回归:move 不被编辑覆盖、时间混淆只拉
不推、凭据被拒停机与恢复等);服务端全量通过并新增 4 条(平台/IP 记录、
伪造 XFF 不采信、可信代理链解析、运维撤销分享的完整语义)。