quickblox-javascript-sdk icon indicating copy to clipboard operation
quickblox-javascript-sdk copied to clipboard

onSystemMessageListener Event not getting fired in Angular

Open jigneshzala opened this issue 2 years ago • 0 comments

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...

jigneshzala avatar Oct 13 '22 12:10 jigneshzala