トランスポートとバージョン
- アプリからノード:WebSocket + JSON。フィールド名はすべてキャメルケースです。
- ノード間:libp2p。プロトコル ID は /gather/message/1.0.0 のような形式です。ノード間のプロトコルはノード内部で実装されており、GProtocol には含まれません。
- バージョンの規則:互換性を壊す変更はメジャーバージョンを上げ、マイナーバージョンではフィールドの追加のみ行います。ログイン時にプロトコルのバージョンを送り、メジャーバージョンが一致しないリクエストは拒否され、アップグレードを促します。
- リアルタイム系のアクション(入力中表示や通話のシグナリングなど)は、届けられなければ破棄され、オフラインメッセージとしては保存されません。