• woelkchen@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          11 months ago

          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.

          • Chobbes@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            11 months ago

            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.

            • woelkchen@lemmy.world
              link
              fedilink
              English
              arrow-up
              3
              ·
              11 months ago

              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.