chatbox.js 1012 B

12345678910111213141516171819202122232425262728
  1. import { _converse } from '@converse/headless/core';
  2. import { createOMEMOMessageStanza, getBundlesAndBuildSessions } from '../utils.js';
  3. const ChatBox = {
  4. async sendMessage (attrs) {
  5. if (this.get('omemo_active') && attrs?.body) {
  6. const plaintext = attrs?.body;
  7. attrs = this.getOutgoingMessageAttributes(attrs);
  8. attrs['is_encrypted'] = true;
  9. attrs['plaintext'] = plaintext;
  10. let message, stanza;
  11. try {
  12. const devices = await getBundlesAndBuildSessions(this);
  13. message = await this.createMessage(attrs);
  14. stanza = await createOMEMOMessageStanza(this, message, devices);
  15. } catch (e) {
  16. this.handleMessageSendError(e);
  17. return null;
  18. }
  19. _converse.api.send(stanza);
  20. return message;
  21. } else {
  22. return this.__super__.sendMessage.apply(this, arguments);
  23. }
  24. }
  25. }
  26. export default ChatBox;