The release of xx messenger version 1.2 just went out over email. This release includes the following for Android and iOS:
Push notifications are now available through settings
Resending a contact request is now possible when it fails
Main controllers have been reworked for more stability
QR code reading has been updated
Screen animations has been updated
Contact Request core instructions has been updated
Messages with wrong date bug has been fixed
Duplicated headers on messages have been fixed
Duplicated messages bug has been fixed
- Fixed bug from navigating back from detected qr
- Return key on onboarding goes forward
- Camera on qr handles denied case
- Removed pending contacts from chat list
- Added opt-in crash reporter
- Added push notifications
- Added pending message state
- Fixed ui bug in chat message bubble
- Default on for crash reporting
- Added version number to test version label
- Set notification toggle off when failing register
Please delete your old app before reinstalling. 1.2 is not backwards compatible with any of the previous versions. To use notifications, you must enable notifications in the settings. To do this, open the menu from the chats screen by tapping the hamburger icon, then tap Settings. You should see a toggle labeled “Notifications”, toggle it to on.
We have chosen to release notifications as soon as we had the core feature set working because it has such an impact on usability, but a key note is that in app alerts will be released in Version 1.3. In app alerts help provide a lot of context as you open the app to see what your notification is for (a new message and what chat it is in, or a new contact request). We welcome feedback on any other features you’d like to see prioritized, especially those that you would need to see in xx messenger before using regularly.
The bounties for version 1.2 have been updated in the master post here. Please consider submitting logs if you encounter these bugs! We really appreciate everyone who has been testing so far and want those who have been testing (and dealing with bugs!) to get the rewards they deserve.
There are some android devices that are known to be problematic with notifications, Slack has a nice guide to settings you can configure that may help if you have issues here.
An Explainer on Private Notifications
The private notifications deployed today leverages the overly dense ephemeral ID system unique to the xx network to provide private notifications across the inherently non-private push notification services provided by Apple and Google.
When sending a message to another user, you do not send it to their Identity, instead, based upon the day, you calculate the ID they are currently using to receive messages and send to that. These IDs are designed so that there will be more users using the system then there are IDs available. As a result, IDs will collide and people will share them. This means users will pick up each-others messages, and receive each-others notifications, masking which messages were actually for them.
Once a message or notification is received on the device, it will check an “identity fingerprint” which allows the device to quickly determine if the message is for it and discard any messages that are not.
This privacy is very different from the privacy that the core cMix system provides. cMix dissociates sender from receiver, while this system dissociates the receiver from their messages. As a result, these systems are complementary and when used together strengthen the privacy of the platform.
Private Notifications and iOS
iOS is a more locked down OS than Android and without special permission from Apple, there is no mechanism to not display notifications when they arrive. As a result, we must display something when ID collisions occur. In these cases we display a silent notification with the text “Privacy: Protected!”. We have requested permission from Apple and are working on other solutions as well. We expect the user experience to improve in future releases.