God, no. The corporate chat that my employer uses is based on Jabber (if anybody cares: it’s Estos ProCall) and on mobile it’s just hell where the connection gets lost all the time and messages arrive late.
There are some remaining issues with push (mostly on iOS as far as I know), but it’s all to do with OMEMO. OMEMO is kind of like the signal protocol but in XMPP. This is kind of moot for corporate XMPP, though, as you probably aren’t using OMEMO.
The OMEMO issue is that the contents of the message are end-to-end encrypted so you can’t simply send the notification to devices. I believe conversations on Android may just keep a socket open (or maybe that’s just the fdroid version?) so it just manages it with background tasks. And on iOS monal does what signal does and will use push notifications as a trigger to pull messages from the server. Siskin on iOS just sends you a “you have a new message!” notification instead because they don’t want to spin up the radio to fetch messages in order to preserve battery life. So basically push works fine on monal, and Siskin also has working push but you don’t get message contents.
To be fair that might just be a poor implementation?
Maybe. Given that ProCall is a commercial product, it surely just reuses whatever MIT/BSD/Apache-licensed code exists instead of developing their own because that costs money.
or XMPP/Jabber.
God, no. The corporate chat that my employer uses is based on Jabber (if anybody cares: it’s Estos ProCall) and on mobile it’s just hell where the connection gets lost all the time and messages arrive late.
To be fair that might just be a poor implementation? XMPP can support push notifications just fine now:
https://xmpp.org/extensions/xep-0357.html https://modules.prosody.im/mod_cloud_notify
There are some remaining issues with push (mostly on iOS as far as I know), but it’s all to do with OMEMO. OMEMO is kind of like the signal protocol but in XMPP. This is kind of moot for corporate XMPP, though, as you probably aren’t using OMEMO.
The OMEMO issue is that the contents of the message are end-to-end encrypted so you can’t simply send the notification to devices. I believe conversations on Android may just keep a socket open (or maybe that’s just the fdroid version?) so it just manages it with background tasks. And on iOS monal does what signal does and will use push notifications as a trigger to pull messages from the server. Siskin on iOS just sends you a “you have a new message!” notification instead because they don’t want to spin up the radio to fetch messages in order to preserve battery life. So basically push works fine on monal, and Siskin also has working push but you don’t get message contents.
Maybe. Given that ProCall is a commercial product, it surely just reuses whatever MIT/BSD/Apache-licensed code exists instead of developing their own because that costs money.