QuickBlox / quickblox-javascript-sdk

JavaScript SDK of QuickBlox cloud backend platform
Other
105 stars 217 forks source link

onSystemMessageListener Event not getting fired in Angular #433

Open jigneshzala opened 2 years ago

jigneshzala commented 2 years ago

In my angular application j have used this quickblox API and currently facing issues with QB.chat.onSystemMessageListener when creating dialogue. When I Manually on the button and click Try to call this event its listener gets called:

try {
  QB.chat.sendSystemMessage(userIds, systemMessage);
  // or message.id = QB.chat.sendSystemMessage(opponentId, message) if message ID is needed
} catch (e) {
  console.log(e);
  if (e.name === "ChatNotConnectedError") {
    // not connected to chat
  }
}

But, when i try to call this event when creating dialogue it does not get called: public createDialog(selected_occupant_id) { const self = this; const params = { type: 3, occupants_ids: [selected_occupant_id] };

this.dialogService.createDialog(params).then(dialog => {
  this.dialog = dialog;
  const systemMessage = {
    extension: {
      notification_type: 1,
      dialog_id: dialog._id
    }
  };

  //This is the Event
  self.messageService.sendSystemMessage(selected_occupant_id, systemMessage);

  if (self.dialogService.dialogs[dialog._id] === undefined) {
    const tmpObj = {};
    tmpObj[dialog._id] = dialog;
    self.dialogService.dialogs = Object.assign(tmpObj, self.dialogService.dialogs);
    self.dialogService.dialogsEvent.emit(self.dialogService.dialogs);
  }

  this.dialogService.currentDialog = dialog;
  this.dialogService.currentDialogEvent.emit(dialog);

});

}

Can you please take a look at it and what is exactly thing I am missing, asap...