Files
obsidian-livesync/docs/tech_info_ja.md
T
Chihiro WATANABE 5ffa3b76ed fix(i18n): overhaul Japanese translations, localise pending UI labels, and update documentation
- Overhaul Japanese translation catalogue and synchronize with current documentation
- Localise pending UI labels across dialogues, panels, and settings
- Add Japanese translation mapping for provisional LiveSync messages
- Update and refine all Japanese documentation files
- Strip weak ETag prefix in ObsHttpHandler for object storage compatibility
2026-11-04 10:38:55 +09:00

4.0 KiB

アーキテクチャ設計

同期

Synchronisation

  1. ノートが更新されると、Obsidian からイベントが通知されます。Self-hosted LiveSync はイベントを処理し、ローカルの PouchDB に変更を反映します。
  2. PouchDB は差分をリモートの CouchDB に複製します。
  3. 他のデバイスはリモートの CouchDB を監視し、変更を検出すると差分をダウンロードします。
  4. Self-hosted LiveSync は、PouchDB が受信した変更を Obsidian の Vault に反映します。

図では2台のデバイス間の一方向として示していますが、実際には複数のデバイス間で双方向に同期します。

ファイルイベントとストレージ書き込み

ファイルイベントは、Vault 内で検出された変更を表します。Commonlib はこれらのイベントをフィルタリングおよび直列化してから、ローカルデータベース内のファイルメタデータを更新します。したがって、キューに入った DELETE はデータベースの変更を要求するものであり、それ自体が物理ファイルを削除する命令ではありません。同期対象外へのファイル名の変更も、宛先ファイルがディスク上に残ったままデータベース上は削除扱いとなる場合があります。

逆方向の処理はデータベースのメタデータから始まります。レプリケーションされた変更やフルスキャンによってデータベースからストレージへのハンドラが呼び出され、競合およびコンテンツ保護ルールに従って Vault ファイルの書き込みや削除が行われます。古いファイルイベントによるメタデータの削除を防ぐことと、正当なレプリケーションによる削除を適用することは、別の判断基準として扱われます。

Commonlib の Storage events and database-to-storage reflection には、イベントの境界、Commonlib 0.1.23 で導入された削除の再検証、およびその制限事項が記載されています。特に、削除保護機能は外部フォルダの大文字小文字の変更やパスの表記揺れの完全な収束を保証するものではありません。

現在の技術リファレンス

帯域幅低減のために

dedupe