Как настроить синхронизацию Matrix Sliding для более быстрой загрузки на мобильных устройствах (без использования устаревшего прокси)

Обновление от 6 октября 2026 г.: Автономный прокси-сервер Matrix Sliding Sync больше не является подходящим компонентом для установки. Matrix.org заархивировал свой matrix-org/sliding-syncрепозиторий в ноябре 2025 года, поскольку в нем был реализован более старый API MSC3575, который был заменен на Simplified Sliding Sync (MSC4186). Synapse поддерживает нативную реализацию начиная с версии 1.114, причем поддержка включена по умолчанию. В июле 2026 года команда разработчиков Matrix Spec Core Team приняла предложение по основному компоненту MSC4186; связанные с ним предложения по расширениям остаются отдельной работой.

Для современной мобильной версии Synapse практичная настройка заключается в использовании текущей версии Synapse, подтверждении наличия встроенной функции Sliding Sync, обеспечении передачи путей API клиента Matrix через обратный прокси-сервер без изменений и использовании совместимого мобильного клиента. Отдельный контейнер прокси, база данных прокси и старый URL-адрес обнаружения прокси не требуются.

Стоит ли всё же устанавливать автономный прокси-сервер Sliding Sync?

Нет, это не относится к новой версии, предназначенной для существующих мобильных клиентов Matrix. Архивный прокси-сервер реализует протокол MSC3575, а не более новый нативный протокол MSC4186. В собственном репозитории проекта указано, что он больше не поддерживается и что от современных клиентов Matrix больше не ожидается его работы. Matrix.org также объявил о переходе на нативную поддержку и удалении поддержки прокси-сервера MSC3575 из Element X в январе 2025 года.

Историческое руководство по прокси-серверам может быть полезно при определении старой установки: в ней использовался PostgreSQL, постоянный секретный ключ и SYNCV3_*конфигурация среды. Эти инструкции описывают устаревшую архитектуру. Не копируйте их на новый сервер и не делайте общедоступным устаревший прокси-сервер только потому, что в старом руководстве он указан как более быстрый.

Что изменилось, и что это значит для пользователей мобильных устройств?

Ранее прокси-сервер представлял собой отдельную службу, которая располагалась между клиентом и его домашним сервером. Упрощенная скользящая синхронизация реализована непосредственно в Synapse. Она позволяет совместимым клиентам запрашивать соответствующий фрагмент списка комнат пользователя и обновлять его постепенно, что может уменьшить объем работы по синхронизации, которую мобильное приложение должно выполнять при открытии или возвращении к большому аккаунту.

Это улучшение синхронизации, а не гарантия мгновенной загрузки всех экранов. Оно не устраняет проблемы с медленным медиасервером, задержкой при подключении к удаленной комнате, слабым покрытием мобильной связи или загруженной базой данных. Мобильное приложение должно поддерживать MSC4186, а домашний сервер должен его рекламировать. В объявлении Matrix.org говорится, что собственная реализация Synapse позволяет избежать отдельного хранилища данных и первоначального ограничения полной синхронизации, характерных для старого прокси-сервера.

Что необходимо сделать перед включением этой функции?

  • Домашний сервер Matrix, работающий под управлением Synapse. Данное руководство не предполагает, что Dendrite, Conduit или другой домашний сервер предоставляют ту же самую нативную реализацию.
  • Поддерживаемая версия Synapse. В версии 1.114 добавлена ​​встроенная поддержка MSC4186, но используйте текущую поддерживаемую версию, а не рассматривайте 1.114 как рекомендацию по безопасности или техническому обслуживанию.
  • Мобильный клиент, поддерживающий упрощенную скользящую синхронизацию. Мощный домашний сервер не сможет заставить старый клиент использовать API, который он не поддерживает.
  • Рабочая конфигурация HTTPS-клиента и обратного прокси для домашнего сервера.
  • Перед обновлением или изменением маршрутизации сервера необходимо создать резервную копию базы данных и конфигурации.

Как проверить, поддерживает ли Synapse уже встроенную функцию Sliding Sync?

Запросите в терминале конечную точку версий общедоступного API клиент-серверной архитектуры. Замените указанный хост на базовый общедоступный URL-адрес, используемый вашими клиентами Matrix:

curl -fsS https://matrix.example.org/_matrix/client/versions   | jq -r '.unstable_features["org.matrix.simplified_msc3575"]'

Ответ с trueзначением означает, что сервер сообщает о наличии встроенной функции Simplified Sliding Sync. Ответ с значением false, null, или отсутствием ключа означает, что перед тестированием клиента следует проверить версию и конфигурацию Synapse. Если jqSynapse не установлен, запросите тот же URL-адрес в браузере или запустите программу curl -fsS https://matrix.example.org/_matrix/client/versionsи изучите JSON-ответ.

Этот флаг является сигналом возможностей сервера; он не доказывает совместимость конкретной версии приложения или корректность всех маршрутов обратного прокси. Используйте клиент, в примечаниях к выпуску которого указана встроенная поддержка Sliding Sync, и проверьте путь запроса в его журналах или в средствах диагностики браузера/сети, если таковые имеются.

Как включить встроенную поддержку в Synapse?

В Synapse 1.114 и более поздних версиях встроенная функция Sliding Sync включена по умолчанию. Если ответ о версиях уже содержит значение true, обычно нет необходимости устанавливать отдельную службу и создавать новую базу данных синхронизации. Избегайте добавления спекулятивной конфигурации только потому, что в более старых руководствах описывается прокси-сервер.

Если эта функция явно отключена в конфигурации Synapse, проверьте соответствующий параметр в разделе experimental_features. В версиях, использующих описанный флаг, соответствующий YAML-файл выглядит следующим образом:

experimental_features:
  msc3575_enabled: true

Добавляйте или изменяйте этот параметр только после проверки документации по конфигурации для установленной версии Synapse. Создайте резервную копию homeserver.yaml, сохранив остальную часть существующего experimental_featuresблока, и соблюдайте единообразие отступов YAML. Проверьте файл с помощью команды проверки конфигурации Synapse для вашей установки, затем перезапустите Synapse через диспетчер служб или метод оркестрации контейнеров, который вы уже используете. /_matrix/client/versionsПосле этого проверьте еще раз.

Если вы используете версию старше 1.114, запланируйте обновление Synapse, следуя официальным инструкциям по обновлению. Ознакомьтесь с примечаниями к промежуточным выпускам, создайте резервные копии базы данных и файлов конфигурации/носителей и следуйте поддерживаемому пути обновления для вашей системы. Не объединяйте обновление домашнего сервера, переадресацию обратного прокси и удаление старого прокси в одно непроверенное изменение.

Вашему обратному прокси-серверу требуется специальный маршрут Sliding Sync?

Обычно нет. Встроенная функция Sliding Sync использует маршрут API клиента-сервера Matrix /_matrix/client, поэтому ваш существующий обратный прокси должен перенаправлять пространство имен API клиента Matrix в Synapse. В официальном руководстве по обратному прокси Synapse указано, что следует перенаправлять /_matrixи /_synapse/clientсохранять URI запроса, а не канонизировать или нормализовать его.

Проверьте правила прокси-сервера, если /_matrix/client/versionsвсе работает, но совместимое приложение не может синхронизироваться. Убедитесь, что запросы достигают /_matrix/client/unstable/org.matrix.simplified_msc3575/Synapse и не отправляются на оставшийся прокси-сервер MSC3575, не блокируются брандмауэром веб-приложений и не переписываются правилом пути. Если Synapse работает за прокси-сервером, сохраните правильные заголовки forwarded-protocol и client-IP, описанные в документации Synapse.

Не создавайте новую org.matrix.msc3575.proxyзапись /.well-known/matrix/clientдля поддержки нативного API. Этот ключ указывает на устаревший API прокси. Если вы ранее добавляли его в статический общеизвестный JSON-файл или в файл конфигурации Synapse extra_well_known_client_content, удалите только это устаревшее свойство прокси после проверки того, что от него не зависит ни один необходимый старый клиент. Сохраните в неизменном виде обычную информацию об обнаружении домашнего сервера.

Как следует перенести существующую установку прокси-сервера?

  1. Запишите текущую версию Synapse, версии клиента, URL-адрес прокси-сервера, маршруты обратного прокси-сервера, а также местоположение базы данных и секретных ключей старого прокси-сервера.
  2. Создайте резервные копии базы данных домашнего сервера, конфигурации и базы данных прокси-сервера. Сохраните эти резервные копии до тех пор, пока не будет проверена возможность входа в систему через нативный клиент и синхронизация.
  3. Если версия Synapse старше 1.114, обновите её, следуя указанному в документации пути обновления, а затем убедитесь, что флаг, отвечающий за встроенные возможности, возвращает значение true.
  4. Обновите мобильные клиенты до версий, поддерживающих встроенную функцию Simplified Sliding Sync. Следуйте инструкциям по миграции или повторному входу в систему внутри приложения. Для некоторых существующих сессий может потребоваться повторный вход в систему для перехода со старого протокола.
  5. Удалите устаревшее объявление прокси-сервера и перенаправьте путь API клиента Matrix на Synapse. Перезагрузите обратный прокси-сервер и проверьте его конфигурацию перед применением.
  6. Сначала протестируйте с одной учетной записью и одним мобильным устройством. Подтвердите вход в систему, загрузку списка комнат, открытие зашифрованной комнаты, отправку и получение сообщений, а также повторное подключение после смены сети.
  7. После успешного тестирования для поддерживаемых вами клиентов остановите устаревший прокси-сервер. Сохраните резервную копию базы данных на согласованный период времени для отката; удаляйте старые данные только после подтверждения того, что они больше не требуются.

База данных прокси-сервера хранила состояние синхронизации на стороне прокси, а не заменяла историю комнат Synapse. Тем не менее, не следует удалять её в рамках первоначальной миграции: она служит ориентиром для устранения неполадок в устаревшей конфигурации и обеспечивает более безопасную границу отката при переходе пользователей на собственные сессии.

Как определить, улучшилась ли скорость загрузки на мобильных устройствах?

Сравните один и тот же клиент, учетную запись, устройство и сеть до и после изменений, если у вас есть надежные базовые измерения. Запишите время от открытия приложения до появления удобного списка комнат, отображаются ли последние сообщения без длинного индикатора загрузки и восстанавливается ли приложение после короткого периода отключения от сети. Повторите сравнение несколько раз; результаты одного запуска могут быть искажены состоянием кэша, состоянием сети или загрузкой большого объема медиафайлов.

Если клиент по-прежнему выполняет обычные /syncзапросы и никогда не рекламирует и не пытается использовать встроенную поддержку, проверьте версию клиента и его собственные настройки синхронизации. Если он запрашивает упрощенную конечную точку, но получает ошибку, проверьте журналы Synapse и обратного прокси-сервера для этого запроса. Проверьте состояние базы данных и загрузку сервера, если многие пользователи сообщают о медленной загрузке. Скользящая синхронизация может уменьшить объем работы по синхронизации, но она не может компенсировать перегрузку базы данных или неправильно направленный запрос API.

Какие основные параметры настройки доступны?

ПодходНаилучший вариантСтоимость или ограничение
Встроенная упрощенная скользящая синхронизация в SynapseНовые или поддерживаемые развертывания Synapse и совместимые клиенты.Требуется совместимый клиент; производительность по-прежнему зависит от состояния сервера и базы данных.
Устаревший прокси MSC3575Предназначено только для понимания или временного поддержания старой тестовой конфигурации.Архивированный, не поддерживаемый и больше не предназначенный для работы с современными клиентами.
Синхронизация устаревшей матрицыКлиенты или домашние серверы без встроенной поддержки Sliding SyncПродолжает работать для совместимых клиентов, но не обеспечивает того же самого встроенного поведения списка номеров с возможностью прокрутки.

Источники и примечания к версии

Отдельный репозиторий прокси-серверов заархивирован. Нативная реализация Synapse восходит к версии Synapse 1.114. Команда разработчиков спецификации Matrix приняла основное предложение MSC4186 в июле 2026 года, в то время как связанные с ним расширения остаются отдельными. Synapse, мобильные клиенты и спецификация Matrix продолжают развиваться, поэтому проверяйте документацию и примечания к выпуску, чтобы узнать точные версии, которые вы используете.

Оставить комментарий

Устранение проблемы высокой загрузки ЦП в Jitsi Meet в браузерах клиентов.

Устранение проблемы высокой загрузки ЦП в Jitsi Meet в браузерах клиентов.

Диагностика скачков загрузки ЦП в браузере Jitsi Meet и снижение нагрузки на клиентское приложение путем проверки видеофайлов, эффектов камеры, графики браузера и настроек хоста.

Как отслеживать метрики Jitsi Videobridge с помощью Prometheus и Grafana

Как отслеживать метрики Jitsi Videobridge с помощью Prometheus и Grafana

Отслеживайте состояние Jitsi Videobridge, загрузку конференций и трафик с помощью встроенной точки доступа Prometheus, а затем анализируйте и отображайте данные в виде графиков в Grafana.

Как настроить пользовательское доменное имя для Jitsi Meet Docker

Как настроить пользовательское доменное имя для Jitsi Meet Docker

Настройте собственный домен для Jitsi Meet Docker с указанием DNS, PUBLIC_URL, HTTPS, Let's Encrypt, портов брандмауэра, настроек NAT и сквозной проверки.

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 errors after SSL renewal by checking the correct URL and port, proxy routing, service status, deployed certificates, and logs.

Исправлено предупреждение Nextcloud «Неправильно настроен PHP OPcache».

Исправлено предупреждение Nextcloud «Неправильно настроен PHP OPcache».

Узнайте, как диагностировать и устранять предупреждение Nextcloud о конфигурации PHP OPcache, проверив активные параметры PHP SAPI, ограничения размера, комментарии и настройки повторной проверки.

Исправление ошибок миграции базы данных Kopano после обновления версии MySQL.

Исправление ошибок миграции базы данных Kopano после обновления версии MySQL.

Для устранения неполадок, возникающих при миграции базы данных Kopano после обновления MySQL или MariaDB, проверьте резервные копии, версии серверов, режимы SQL, кодировку, состояние схемы и журналы.

Как настроить аутентификацию LDAP и Active Directory в Nextcloud

Как настроить аутентификацию LDAP и Active Directory в Nextcloud

Подключите Nextcloud к LDAP или Active Directory с помощью защищенного канала связи, фильтров пользователей и групп, атрибутов входа в систему и проверенной процедуры развертывания.

Как исправить уведомления Element Android без сервисов Google: руководство по UnifiedPush

Как исправить уведомления Element Android без сервисов Google: руководство по UnifiedPush

Исправление проблем с уведомлениями Element Android на телефонах без привязки к Google путем настройки UnifiedPush, разрешений Android, параметров батареи и надежных тестов проверки.

Исправлено предупреждение Nextcloud «В базе данных отсутствуют некоторые индексы».

Исправлено предупреждение Nextcloud «В базе данных отсутствуют некоторые индексы».

Удалите предупреждение Nextcloud об отсутствии индексов в базе данных с помощью официальной команды occ. Сначала сделайте резервную копию, просмотрите изменения, выполните восстановление и проверьте результат.

Как настроить единый вход (SSO) с помощью Keycloak в Element Web

Как настроить единый вход (SSO) с помощью Keycloak в Element Web

Настройте единый вход Keycloak для Element Web, подключив OIDC к Synapse, задав точный URL-адрес обратного вызова, сопоставив данные пользователя и протестировав выход из системы.