リアルタイム編集・同期のトラブル
リアルタイム編集・同期のトラブル
複数人での リアルタイム共同編集 で、表示がずれる・更新が反映されないときの対処です。
こんなときに読む
- 自分の編集が相手に見えない
- 相手のカーソルが消えた・接続が切れた表示
- ページを開き直すと内容が戻る・分岐する
仕組みの概要
Docmost のエディタは Yjs + WebSocket によるリアルタイム同期を使います。
- 各クライアントが同じドキュメント状態に収束する
- オフライン復帰時に再同期
- ページ履歴は別キューでスナップショット保存(No.4.6)
まず試すこと(利用者)
| 手順 | 期待できる効果 |
|---|---|
| ページを 再読み込み | 接続の再確立 |
| ネットワーク(VPN・プロキシ)を確認 | WebSocket が遮断されていないか |
| 同じページを 1 タブ に絞る | 同一ユーザーの複数タブは競合の原因になりうる |
| しばらく待ってから再編集 | 一時的な切断からの自動復帰 |
| 編集権限があるか確認 | Reader では同期対象の編集不可(No.2.2) |
症状別の対処
接続切れ・「オフライン」表示
- 社内プロキシが WebSocket(
wss://)をブロックしていないか IT に確認 - リバースプロキシ(nginx 等)で Upgrade ヘッダーが通るか(セルフホスト)
- モバイル回線の切り替え後は再読み込み
表示だけずれる(カーソル・選択範囲)
- 通常は数秒で収束。長引く場合は再読み込み
- ブラウザ拡張(広告ブロック等)を一時無効化して試す
保存されたはずの内容が消えた
- ページ履歴 から復元を試す(No.4.6)
- 複数人が同時に大きく編集していた場合は履歴の時刻を確認
- 再発する場合は管理者に報告(サーバー時刻・Redis の健全性)
自分だけ古い内容が見える
- ハードリロード(Cmd/Ctrl+Shift+R)
- CDN やブラウザキャッシュの影響を除外
セルフホスト運用者向け
| 確認項目 | 説明 |
|---|---|
REDIS_URL |
コラボレーション・履歴キューに使用 |
APP_URL |
WebSocket のオリジンと一致 |
| リバースプロキシ | proxy_read_timeout、WebSocket アップグレード |
| 複数レプリカ | スティッキーセッションまたは Redis アダプタの構成 |
→ 詳細: 「必要インフラと環境変数リファレンス」(No.10.2)
競合とベストプラクティス
- 同じ段落を同時に編集すると意図しないマージが起きうる
- 長文の大幅改稿は 担当者を分ける か、コメントで編集範囲を宣言(No.6.1)
- 重要な公開前は 履歴でスナップショット を意識した運用(No.4.6)
関連ナレッジ
- 共同編集: 「リアルタイム共同編集の使い方」(No.4.2)
- ページ履歴: 「ページ履歴・復元」(No.4.6)
- 場面別: 「場面別シナリオ — 招待・403・権限なし・同期ずれ」(No.1.9)
- FAQ: 「よくある質問」(No.11.1)