# Межсерверная передача сообщений ## Зачем Когда у SHiNE появится несколько серверов, пользователи на разных серверах должны получать личные сообщения без ручной синхронизации и без привязки к одному центральному узлу. ## Что сделать 1. Определить протокол server-to-server доставки DM. 2. Добавить маршрутизацию получателя по серверу, user id, публичному ключу или PDA. 3. Добавить ACK, повторы, дедупликацию и backfill пропущенных сообщений. 4. Разделить realtime-доставку и восстановление истории. 5. Описать поведение при недоступности удалённого сервера. ## Что учесть - Логика DM должна соответствовать документам в `docs/Personal_Messages/`. - При изменении формата signed DM-блока или правил доставки нужно обновлять протокол и байтовый формат DM. - Если появятся новые server API/WebSocket операции, нужно обновить `docs/API/`. ## Документы, которые потом нужно обновить - `docs/Personal_Messages/Протокол_DM_v1.md`; - `docs/Personal_Messages/Формат_DM_v1.md`; - `docs/API/`; - `docs/API/09_Operations_Index.md`, если добавляются новые `op`. ## Статус Отложено до этапа децентрализации.