Problem with JS SDK message subscriprion


#1

Hello,
My team and I are developing a chat that connects users from IOS to an angular web-app. We are currently using both IOS and JS Skygear SDKs.
The workflow is as follows:

  1. The IOS user requests a chat and we store the request and the Skygear user id in our database.
  2. The angular app sees that there is a request for a conversation and creates a group conversation in Skygear between the user in Skygear that requested it and the current logged in user in the web-app.
  3. Both platforms open the conversation and subscribe for new messages. (IOS is using the UIKit and the web-app just subscribes to ‘skygear-chat’)
    For JS:
  import * as skygearChat from 'skygear-chat';
  ...
  subscribe(messageHandler: Function) {
    this.skygearChat.subscribe(messageHandler);
  }

For existing users, everything works fine, but when the conversation is created from a newly registered Skygear user from the web-app (register user, login and then create a conversation with the already registered user from IOS), we do not receive any messages in the subscription in the web-app (even the ones that the web-app user sends). From IOS everything is fine - the messages sent from IOS are there and also the ones from the web-app are also received. When we get the conversation from the web-app again, the sent messages from both sides appear, but if a new message is sent after that the same happens.
We have compared all of the data in the Skygear database for the working conversations (with already created users) with the data for the not working conversations and everything is the same. I am talking about all of the users, user channels, conversations, user conversations, etc… There are no problematic differences.
Also, this bug does not happen every time. Sometimes it works fine.

We are currently using Skygear.io while developing and testing.

I would be very grateful if you can help me.

Thanks in advance,
Kiril


#2

@kiril.pavlov what’s your chat JS SDK & chat iOS SDK version?


#3

For JS:

  • "skygear": "1.6.0",
    
  • "skygear-chat": "1.3.4"
    

For IOS:

  • SKYKit/Core (1.6.0):
    • MagicKit-Skygear (~> 0.0.6)
    • SocketRocket (~> 0.4)
  • SKYKitChat (1.5.1):
    • SKYKitChat/Core (= 1.5.1)
  • SKYKitChat/Core (1.5.1):
    • Realm (~> 3.0.1)
    • SKYKit/Core (~> 1.4)
  • SKYKitChat/UI (1.5.1):
    • ALCameraViewController (~> 3.0)
    • CTAssetsPickerController (~> 3.3.1)
    • JSQMessagesViewController-Skygear (= 7.3.5.4)
    • JSQSystemSoundPlayer (~> 2.0.1)
    • LruCache (~> 0.1)
    • SKPhotoBrowser (~> 5.0.5)
    • SKYKit/Core (~> 1.4)
    • SKYKitChat/Core
    • SVProgressHUD (~> 2.1.0)
  • MagicKit-Skygear (0.0.6)
  • JSQMessagesViewController-Skygear (7.3.5.4):
    • JSQSystemSoundPlayer (~> 2.0.1)

Checksums

  • JSQMessagesViewController-Skygear: 363f8b91363e1c18039f2abdc53ca26050b57ca7
  • MagicKit-Skygear: ca78735168eb8ae24be2307af462e632278bced0
  • SKYKit: b276cf12cbc79c47fd47ac83b5b836c46a5b25e9
  • SKYKitChat: f65d972d40ea3960a57af736ea13f9a08a309376 (edited)

Pod dependecies

  • SKYKitChat (~> 1.5)
  • SKYKitChat/UI (~> 1.5)

#4

@kiril.pavlov thanks for the information! We will test it at our side and get back to you soon.


#5

@tentang Hi there and thanks for your reply. Did you find something already?


#6

Hello @kiril.pavlov!

Just got updates from the team. Unfortunately we cannot reproduce the problem at our side. Is it possible to send us a minimal, complete and verifiable example so that we can further investigate? Thanks!

Ten


[Skygear Chat] Bug with multiple user channels