AESGCM:// links

I have added support for aesgcm:// links on both iOS and Mac clients. There is still a bit of optimization to be done but it should be in the next client releases. It appears that the documentation for this functionality is wrong which made things a little tricky. It turns out the IV is 16 bytes and not 12 as it is written. Additionally unlike what the xep says, OMEMO uses GCM 128 and this uses GCM 256 and has a different key length.

iOS Updates

There was an iOS App Store release. I mentioned in the release notes that there was a security fix. The specific fix was a bug that didn’t save user preferences when deselecting OMEMO keys in the UI. I am generally good about clarity with security changes (see the SSL changes) I will be better about it in the future.

I am working more on iOS at the moment. The chat UI is a bit more refined. I have adjusted the dates and the spacing between cells depending on the message before it. iOS users who have used Messages will find this familiar. I will work on aesgcm:// links next. It may not make it into next weeks release but likely the one after that.

New iOS beta

There is a new iOS. I have been focusing on polishing up the chat screen, which hasn’t seen a lot of change in about 4 years. There is a lot of things going on in the screenshot below, all of them are improvements for the better. We have headers for the day now so the dates on each row are smaller. I am working on compressing cell spacing and using the space to convey time difference between messages (this is a WIP). Link detection is improved. The OMEMO locks are now in the cells. Messages consistently show the OMEMO lock. I am also gone back and adjusting the point count on all spacing to keep them visually consistent.

Still some spacing issues, but it is getting closer to my vision