yaxim 0.9.9 XMPP client release

Presented new version of XMPP client for Android - yaxim 0.9.9 "FOSDEM 2020 edition" with many changes and new features such as browsing services, Matrix support, reliable messaging with MAM and push, a new user interface that asks for permissions when needed. New features bring yaxim in line with mobile requirements XMPP Compliance Suite 2020. Project Code spreads licensed under GPLv3.

yaxim 0.9.9 XMPP client release

Main innovations:

  • The interface is brought to the style of Google "Material Design". To match last year's tightened requirements to be published on Google Play, I had to replace the outdated library ActionBarSherlock on appcompat from Google, which provides the application with material styling.

    This also means that yaxim now requires at least Android 4.0 on the device. Since version 4.0 was released in 2011, this only affects a small number of devices. Users with phones older than ten years should stay with older versions of yaxim that run Android 2.3+. In addition, on Android 6+ devices, the user will be prompted to grant permission when it is really needed (for example, when sharing files or taking photos).

    yaxim 0.9.9 XMPP client release

  • On Android 8+, yaxim uses new notification channels. For each contact, a new channel with a custom ringtone is created. Once the user receives a message from a contact, they can use the Android notification settings to change the ringtone.
  • Support for the initiative secured "Simple XMPP"using a client subscription XEP-0379: Pre-Authenticated Roster, which required a server with active In-Band Registration.
  • New XEP-0401: Easy User Onboarding allows you to invite new users to the server without fearing abuse by spammers. You can see the user in the video below. Poezio on server prosodyA that creates an invitation that is used by yaxim to register and automatically add the inviter. The invitation page in this example uses download link from google play, which allows the yaxim client installed on it to know the address of the inviter, which affects privacy, so it is not yet included on the official website of the yax.im server.



  • Implemented a new type of rooms from bookmarks and a search for public rooms that works based on search.jabber.network.
    yaxim 0.9.9 XMPP client release

  • The user's nickname ("display name") is now synchronized with the server using XEP-0172: User Nickname. The nickname can be changed in the account settings.
  • The Room Browser can now be used to discover services by entering a valid XMPP address in the search field:
    yaxim 0.9.9 XMPP client release

    yaxim 0.9.9 XMPP client release

    yaxim 0.9.9 XMPP client release

    Discovery is not limited to servers and rooms, you can also search for users, chat with them and add them to your contact list:

    yaxim 0.9.9 XMPP client release

  • Implemented support for the Matrix protocol (using BifrΓΆst Bridge), which was originally presented as April Fool's joke. Yaxim uses the official bridge on matrix.org, which was also prepared for FOSDEM 2020.
  • Reliable messaging. Support is provided for users who use yaxim in parallel with another client. XEP-0313: Message Archive Management (MAM). When connecting to a server, yaxim will now enable MAM and request all messages since the last sync. This ensures that yaxim receives all messages that have already been delivered to another client.
  • When installed on devices with Google Play Services, yaxim will register for XEP-0357: Push Notifications via push.yax.im server. This ensures that the application wakes up from a deep sleep or starts when someone sends a new message to the user.

    These changes are reflected in app privacy policy.

  • Changes under the hood. The internal chat message database has been optimized by adding database indexes for all frequent operations, which makes yaxim much faster when loading chat windows with long histories. In addition, yaxim has been ported from the ancient Smack 3 XMPP library to smack 4.3x.

Road to 1.0

The release presented brought significant changes, although the authors hoped that they could do even more to bring version 1.0 to 10th anniversary. However, the current codebase has received some significant improvements for reliability and usability, and the authors would not like to delay them any longer. A lot of work is needed on the contact view to ensure sorting by date of the conversation, and quick contact search. In addition, it is necessary to integrate the creation of rooms and inviting friends to them.

For a long time, yaxim users have requested MAM support, but currently only the user's private messages are requested. The history of the room is still obtained by the client using the legacy mechanism, which means that sometimes the user may miss parts of the history of the room. Embedded images in chat are not properly cached and yaxim tries to download any attachment, regardless of its size or whether it can be displayed on the client. This should be changed to limit the upload of actual image files to a certain maximum size.

Source: opennet.ru

Add a comment