每台设备都和服务器保持一条长连接,改动会实时到达其他设备。
图 — PC 上的改动加密上传,服务器广播,手机端解密
- 连接一直开着。 每台设备都和服务器保持一条 WebSocket 长连接。
- 改动加密后推送。 插件发现文件变了,就在这台设备上加密,再把新版本发给服务器。
- 服务器把改动广播出去。 同一个库的其他设备会收到“有改动”的通知。
- 其他设备拉取并解密。 每台设备下载新版本,在本机解密后写入文件。
库密码从不离开你的设备,服务器转发的始终是它读不懂的密文。
手机在后台不会同步,重新打开 Obsidian 时常常要补一批改动。这时 Courier 会先补你正在看的、和最近打开过的那几篇,其余的在后头补——所以打开时不会有先等它同步完的感觉。