Update on OMEMO

I have an update on the status of OMEMO in Monal. I’ve completed my spike  and have a very rough implementation working. I am able to communicate with Gajim and Chatsecure.  I am actually using a lot of  the same OMEMO code as Chatsecure using Chris’ cocoapods.  The shared code base should reduce duplicated effort and ensure compatibility on the two main Apple platform clients going forward.

The current code isn’t anywhere near production but once I clean it up more, you should start seeing it as an option to turn on in Mac betas in the next month or so.  Below you can see my interactions with Gajim and Chatsecure. 

iOS 3.0.2 and OSX 2.1.2 betas out

I am still cleaning up all of the issues people have seen (and some old friends) in the latest releases. There are new betas out.  I will looking for feedback and crash reports. I hope to have the next updates out this week.   I know it has been almost weekly releases since the 3.0 release. Hoping to slow down to a more manageable  release cycle after the code is more stable.

iOS 3.0.1 Released, How is Push?

The patch release is out.  Search is restored and stability should be better.

While I am asking, how has push been in the latest clients? I have seen thousands of devices registered but I haven’t gotten a ton of feedback on how it has worked.

If you don’t have it working yet, you need an XEP-0357 module on your server.

Prosody: Cloud notify  

Ejabberd: mod push 

Tigase: Push Component

Openfire: Does not support  XEP-0357  push notifications

Mongoose IM: mod_event_pusher_push


New Mac and iOS betas

There are new Mac and iOS betas out. I am hoping this is the start of these two clients being 100% in sync.  This update resolves many of the stability issues in the last release and restores searching to the iOS client.

iOS Crashes

As with any big update there are going to be bugs. I know 3.0 is not as stable as the last release. I am working quickly to fix every crash I see. So far the following have been fixed and will be updated next week . It is a long weekend in the US so these will likely come in by Wednesday. Sorry for the problems, know that I am fixing them ASAP. Things fixed so far:

  1. Crash when trying to save an account with no server has been replaced with an error message.
  2. Crash on iPads when retrying messages
  3. Crash on iPads when deleting account
  4. Crash on fetching message history
  5. Crash sometimes when receiving messages
  6. Crash sometimes when logging in

Updates and GDPR

I am looking at the stats coming back and I see one particular crash that I would like to resolve ASAP in both iOS and Mac clients.  There will be an update next week after that unless something pressing comes up, development will pause as I sort through GDPR.  You may already have  noticed the cookie banner that appears on this page courtesy the wp-stats package I am using. The reason for XMPP work stopping: GDPR work is more work and one person only has so much free time in a day.

General GDPR roadmap:

  1. Site (done)
  2. Crashlyitcs
  3. Mac
  4. Push server
  5. iOS

Monal iOS 3 Released

Version 3. This is the third major version release since 2008. There are major changes to the way the app works and looks. I hope that the changes that I have made are for the better. There will likely be some quick updates after this to address issues that are raised.

Fundamentally, the way Monal works has changed. It will now use push to receive messages if that is an option. This vastly improves message reliability. Your servers will need to have a push support enabled. Monal’s server still does not receive your messages, it will only know to wake up your device when there is a new message. If push is not available, multi-tasking will be short. This addresses changes to iOS in recent versions and there is no way to go back to the old behavior, unfortunately.  From what Apple engineers have said, the current approach should be much better.  In my own testing I have had reliability comparable to iMessage.

Additional improvements:
– A new layout for the UI, trying to highlight elements that are used more
– iPhone X support
– Conversation synchronization
– Delivery Confirmation
– Improved Multi user chat
– Server capabilities viewer
– Side by side multi tasking on iPads
– View images in the Conversation
– Improvements to stability and reliability