Выпуск XMPP-клиента yaxim 0.9.9

Представлена новая версия XMPP-клиента для Android — yaxim 0.9.9 «FOSDEM 2020 edition» с многочисленными изменениями и новыми функциями, такими как просмотр служб, поддержка Matrix, надёжный обмен сообщениями с MAM и push, новый пользовательский интерфейс с запросом разрешений при необходимости. Новые возможности позволили привести yaxim в соответствие с мобильными требованиями XMPP Compliance Suite 2020. Код проекта распространяется под лицензией GRLv3. 0_1580587384.png

Основные новшества:

  • Интерфейс приведён к стилю Google «Материальный дизайн». Чтобы соответствовать прошлогодним ужесточённым требованиям к публикации в Google Play, пришлось заменить устаревшую библиотеку ActionBarSherlock на appcompat от Google, которая обеспечивает приложению материальный стиль.

    Это также означает, что yaxim теперь требует по крайней мере использования Android 4.0 на устройстве. Поскольку версия 4.0 была выпущена в 2011 году, это влияет только на небольшое число устройств. Пользователи с телефонами старее десяти лет должны оставаться со старыми версиями yaxim, которые работают на Android 2.3+. Кроме того, на устройствах Android 6+ пользователю будет предложено предоставить разрешение в тот момент, когда оно становится действительно необходимо (например, при обмене файлами или фотографировании).

    0_1580587579.png
  • На Android 8+ yaxim использует новые каналы уведомлений. Для каждого контакта создаётся новый канал с пользовательской мелодией. Как только пользователь получает сообщение от контакта, он может использовать настройки уведомлений Android, чтобы изменить мелодию.
  • Обеспечена поддержка инициативы «Простой XMPP», используя клиентскую подписку XEP-0379: Pre-Authenticated Roster, для которой был необходим сервер с активной In-Band Registration.
  • Новый XEP-0401: Easy User Onboarding позволяет приглашать новых пользователей на сервер, не опасаясь злоупотреблений со стороны спамеров. На видео ниже можно увидеть пользователя poezio на сервере prosody, создающего приглашение, которое используется yaxim для регистрации и автоматического добавления приглашающего. Страница приглашения в этом примере использует ссылку на установку из Google Play, что позволяет установленному по ней клиенту yaxim знать адрес приглашающего, что влияет на конфиденциальность, поэтому она пока не включена на официальном сайте сервера yax.im.
  • Реализован новый вид комнат из закладок и поиск общественных комнат, работающий на основе search.jabber.network. 0_1580587879.png
  • Ник пользователя («отображаемое имя») теперь синхронизируется с сервером с помощью XEP-0172: User Nickname. Ник можно изменить в настройках учётной записи.
  • Браузер комнат теперь можно использовать для обнаружения служб, введя допустимый XMPP-адрес в поле поиска: 0_1580587986.png 0_1580588001.png 0_1580588020.png

    Обнаружение не ограничивается серверами и комнатами, также можно искать пользователей, общаться с ними и добавлять их в свой список контактов:

    0_1580588082.png
  • Реализована поддержка протокола Matrix (с использованием моста Bifröst), которая первоначально была представлена как первоапрельская шутка. Yaxim использует официальный мост на matrix.org, который также был подготовлен к FOSDEM 2020.
  • Надёжный обмен сообщениями. Для пользователей, которые используют yaxim параллельно с другим клиентом, обеспечена поддержка XEP-0313: Message Archive Management (MAM). При подключении к серверу yaxim теперь активирует MAM и запросит все сообщения с момента последней синхронизации. Это гарантирует, что yaxim получит все сообщения, которые уже были доставлены другому клиенту.
  • При установке на устройствах с сервисами Google Play yaxim будет регистрироваться для XEP-0357: Push-уведомления через сервер push.yax.im. Это гарантирует, что приложение просыпается от глубокого сна или запускается, когда кто-то отправляет пользователю новое сообщение. Данные изменения отражены в политике конфиденциальности приложения.
  • Изменения «под капотом». Внутренняя база данных сообщений чата оптимизирована путем добавления индексов базы данных для всех частых операций, что делает yaxim намного быстрее при загрузке окон чата с длинными историями. Кроме того, yaxim был переведён с древней XMPP-библиотеки Smack 3 на Smack 4.3x.

Дорога к 1.0

Представленный релиз принёс значительные изменения, хотя авторы надеялись, что смогут сделать ещё больше, чтобы представить версию 1.0 к 10-летнему юбилею. Тем не менее, текущая кодовая база обрела некоторые существенные улучшения для надёжности и удобства использования, и авторы не хотели бы задерживать их ещё больше. Необходима большая работа над представлением контактов, чтобы обеспечить сортировку по дате разговора, и быстрый поиск контактов. Кроме того, необходимо интегрировать создание комнат и приглашение в них друзей.

Уже давно пользователями yaxim требовалась поддержка MAM, однако в настоящее время запрашиваются только личные сообщения пользователя. История комнаты по-прежнему получается клиентом с помощью унаследованного механизма, что означает, что иногда пользователь может пропустить некоторые части истории комнаты. Встроенные в чат изображения не имеют надлежащего кэширования, и yaxim пытается загрузить любое вложение, независимо от его размера и того, может ли оно отображаться в клиенте. Это должно быть изменено таким образом, чтобы ограничить загрузку актуальных файлов изображений определённого максимального размера.

Источник: http://www.opennet.ru/opennews/art.shtml? num=52292

© OpenNet