期待v3版本的发布 ![]()
我想我已经找到了一种更好的方式来支持 S3 或其他后端,同时将维护开销和插件冗余降至最低。因此,上面的投票可以结束了。
S3 同步功能终将以更明智的方式实现,而在新架构下,不需要 S3 的用户不会受到任何冗余体积的影响。
我正在考虑是否要简化或直接移除本插件中的 Smart Merge 功能。我们现已开启一项新的投票:
现状
- 本插件目前会在数据库中为你的仓库里的每条 Markdown 笔记保存一份历史内容版本。
- 该数据库的唯一用途就是支持
Smart Merge冲突解决策略。 - 需要解决冲突的情况非常罕见。只有当你在不同设备上同时编辑同一条笔记时才需要。除了
Smart Merge,本插件还支持其他策略,例如Latest Survive。 - 然而,支持该功能的代价巨大:插件需要管理一个数据库,占用大量存储空间,并产生大量额外的文件 I/O,这可能会拖慢同步过程。
解决方案
- 完全移除
Smart Merge,这将极大地简化代码库。 - 使用
two way merge替代three way merge,这样可以消除对数据库的依赖,同样能大幅简化代码库。代价是合并结果的准确度会有所降低。 - 保持
Smart Merge不变。
简化的优点
- 减少存储空间占用
- 更小的插件体积和更快的加载速度
- 同步速度略有提升
- 更好的可维护性
简化的缺点
- 合并准确度降低(方案 2)或完全无法合并(方案 1)
- 你可能需要容忍准确度较低的合并结果,或切换到
latest survive策略(请记住,需要Smart Merge的场景非常罕见)
- (Remove) 完全移除 “Smart Merge”
- (Simplify) 使用 “two-way merge” 替代 “three-way merge”
- (Keep) 保持 “Smart Merge” 不变
此投票也可在 GitHub 此处 参与。
“智能合并” 一直没明白原理,没使用过。
同步,我都是用"使用最新版本",应该会更安全的。
在 iOS 平台,每次打开才能触发同步有好也有坏,如果文档库里要同步的文档比较多的话,每次打开就会卡顿很久才能同步完成。
可以试试另一个软件:SynoSync,支持 WebDAV 在 iOS 后台同步到 Obsidian 文档库,更无感,更优雅~
WebDAV Sync插件已上线obsidian三方社区库,是大佬你的吧?
小白提问:使用此插件,电脑端和手机端均已同步到坚果云,但两者如何双向同步,请赐教
![]()
是的,WebDAV Sync 现已上架 Obsidian 官方插件商店(请注意,目前有两款同名插件,请认准名称中 S 大写的 WebDAV Sync),同时也已入驻全新的 Obsidian 社区。对于目前仍在使用 BRAT 的用户,强烈建议您切换至官方商店进行安装和更新,以便获取更稳定的版本(切换方法很简单:只需卸载 BRAT,Obsidian 会自动识别该插件)。特此通知大家。
@qingfengbz 若要实现双向同步,请确保两台设备不仅连接了相同的同步服务(这一点您已经做到了),还指向了同一个远程目录。之后,插件便会自动检测并同步文件的新增、修改及删除操作。
@tanzi 截图中出现了两个异常:
-
上传失败:我之前也遇到过这个问题。插件在上传文件后,会立即获取并记录该文件的状态作为“上次同步状态”。对于大多数 WebDAV 服务器来说这没有问题,但部分服务器无法保证在返回上传响应时文件已完全写入,导致随后的状态获取因找不到文件而失败(即使刚刚上传成功)。这确实很令人头疼。
修复这个问题比较困难,目前只能建议用户使用更可靠的、能保证 PUT 请求原子性的 WebDAV 服务器。彻底的修复可能要等到 v3 版本,届时我会尝试找到一种方法来完全跳过上传后的状态查询。
-
下载失败:我注意到有一个名为
http:/192.168.5.21:8099/Tanzi/Tanzi/欢迎.md的文件正在被下载。这显然不对,因为这不是一个有效的 URL(http:后面只有一个/)。我推测您的文件夹结构中可能存在这样的路径链:http:→192.168.5.21:8099→Tanzi→Tanzi。我不确定这个错误的路径是您服务器上真实存在的,还是插件本身的 bug。如果下次再出现同样的下载问题,请从插件设置中导出支持日志,并通过私信发给我(点击我的头像 → “私信”)。
是的,后续我找到问题的根本所在了,把本地win的webdav服务关掉,切换为linux服务器上的webdav备份完美解决该问题,且URL使用也会更简单便捷,不会出现该类报错,感谢您的答复
