ChatSecure-iOS icon indicating copy to clipboard operation
ChatSecure-iOS copied to clipboard

trying to understand why push notifications is failing

Open netuser01 opened this issue 3 years ago • 5 comments

Hello,

I'm new to XMPP and would like to use the Chatsecure app. I'm currently using the latest version of Chatsecure 5.0.4. I don't have the infrastructure to host a private xmpp server so I'm trying to use the public ones like jabber.de, or conversations.im, and jabber.5july.net. I go to test my ios device running IOS 15.5. What is happening is the push notifications even though they are enabled, I am not receiving the messages when Chatsecure is in the background or closed.

What is missing on the public servers to work to enable them to push to the ios devices when Chatsecure is not in the foreground? Is there special software they have to enable to allow this to work or am I doing something wrong or missing something? Or is there a public server that I don't know about which implements these features fully?

Thanks for your help.

netuser01 avatar Jul 20 '22 00:07 netuser01

Hi! I would recommend checking out alternative clients like Monal or Siskin instead

chrisballinger avatar Jul 20 '22 01:07 chrisballinger

Hi! I would recommend checking out alternative clients like Monal or Siskin instead

Does either of those support omemo encryption?

Heptite avatar Aug 11 '22 20:08 Heptite

Both do, groups too, yes.

licaon-kter avatar Aug 11 '22 21:08 licaon-kter

Hi! I would recommend checking out alternative clients like Monal or Siskin instead

Does either of those support omemo encryption?

@Heptite @licaon-kter From where you are using omemo encryption for iOS application?

`/** If message was extracted from carbons or MAM, originalMessage will reflect the contents of the originally received message stanza */

  • (void) receiveMessage:(XMPPMessage*)message forJID:(XMPPJID*)forJID isIncoming:(BOOL)isIncoming delayed:(nullable NSDate*)delayed originalMessage:(XMPPMessage*)originalMessage { NSParameterAssert(message); NSParameterAssert(forJID); NSParameterAssert(originalMessage); if (!message || !forJID || !originalMessage) { return; } // Check for incoming device list updates NSArray<NSNumber *> *deviceIds = [message omemo_deviceListFromPEPUpdate:self.xmlNamespace]; XMPPJID bareJID = forJID.bareJID; if (deviceIds && message == originalMessage) { [multicastDelegate omemo:self deviceListUpdate:deviceIds fromJID:bareJID incomingElement:message]; [self processIncomingDeviceIds:deviceIds fromJID:bareJID]; return; } NSXMLElement omemo = [message omemo_encryptedElement:self.xmlNamespace]; if (!omemo) { return; } uint32_t deviceId = [omemo omemo_senderDeviceId]; NSArray<OMEMOKeyData> keyData = [omemo omemo_keyData]; NSData *iv = [omemo omemo_iv]; NSData *payload = [omemo omemo_payload]; if (deviceId > 0 && keyData.count > 0 && iv) { if (message == originalMessage) { [multicastDelegate omemo:self receivedKeyData:keyData iv:iv senderDeviceId:deviceId fromJID:bareJID payload:payload message:originalMessage]; } else { [multicastDelegate omemo:self receivedForwardedKeyData:keyData iv:iv senderDeviceId:deviceId forJID:bareJID payload:payload isIncoming:isIncoming delayed:delayed forwardedMessage:message originalMessage:originalMessage isForward:YES]; } } }

I am failed in case [multicastDelegate omemo:self receivedForwardedKeyData:keyData iv:iv senderDeviceId:deviceId forJID:bareJID payload:payload isIncoming:isIncoming delayed:delayed forwardedMessage:message originalMessage:originalMessage isForward:YES]; ` https://github.com/robbiehanson/XMPPFramework/issues/1236

@chrisballinger can you share how to come out from this?

kamalkumar13 avatar Feb 01 '24 05:02 kamalkumar13

Yes, switch already to Monal....

licaon-kter avatar Feb 01 '24 06:02 licaon-kter