From e09372eacf09eaf5025b891a60f581f32abda49e Mon Sep 17 00:00:00 2001 From: Vincent Date: Fri, 12 Jun 2020 11:19:19 +1000 Subject: [PATCH] tightening up queue --- ts/session/sending/MessageQueue.ts | 21 +++++--------- ts/test/session/sending/MessageQueue_test.ts | 29 ++++++++++++++++---- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/ts/session/sending/MessageQueue.ts b/ts/session/sending/MessageQueue.ts index ee363857a..7b029a933 100644 --- a/ts/session/sending/MessageQueue.ts +++ b/ts/session/sending/MessageQueue.ts @@ -1,32 +1,27 @@ import * as _ from 'lodash'; import * as Data from '../../../js/modules/data'; -import { textsecure } from '../../window'; +import { ConversationController } from '../../window'; import { EventEmitter } from 'events'; import { MessageQueueInterface, MessageQueueInterfaceEvents, - GroupMessageType, } from './MessageQueueInterface'; import { ClosedGroupMessage, ContentMessage, OpenGroupMessage, - SessionResetMessage, - SyncMessage, + SessionRequestMessage, } from '../messages/outgoing'; import { PendingMessageCache } from './PendingMessageCache'; import { JobQueue, - TypedEventEmitter, - MessageUtils, SyncMessageUtils, + TypedEventEmitter, } from '../utils'; import { PubKey } from '../types'; -import { ConversationController } from '../../window'; import { MessageSender } from '.'; import { SessionProtocol } from '../protocols'; -import { generateFakePubkey } from '../../test/test-utils/testUtils'; export class MessageQueue implements MessageQueueInterface { public readonly events: TypedEventEmitter; @@ -99,8 +94,7 @@ export class MessageQueue implements MessageQueueInterface { // Open groups if (message instanceof OpenGroupMessage) { // No queue needed for Open Groups; send directly - const rawMessage = MessageUtils.toRawMessage(message.group, message); - await MessageSender.send(message); + await MessageSender.sendToOpenGroup(message); return true; } @@ -145,9 +139,8 @@ export class MessageQueue implements MessageQueueInterface { // Message sent; remove from cache void this.pendingMessageCache.remove(message); }) - .catch(() => { - // Message failed to send - }); + // Message failed to send + .catch(() => null); } }); } @@ -160,7 +153,7 @@ export class MessageQueue implements MessageQueueInterface { } private async queue(device: PubKey, message: ContentMessage) { - if (message instanceof SessionResetMessage) { + if (message instanceof SessionRequestMessage) { return; } diff --git a/ts/test/session/sending/MessageQueue_test.ts b/ts/test/session/sending/MessageQueue_test.ts index 68dfdb37e..b527d4ee2 100644 --- a/ts/test/session/sending/MessageQueue_test.ts +++ b/ts/test/session/sending/MessageQueue_test.ts @@ -32,14 +32,31 @@ describe('MessageQueue', () => { const message = TestUtils.generateChatMessage(); const rawMessage = MessageUtils.toRawMessage(device, message); - // SyncMessageUtils.from(message); - const myOpenGroup = new OpenGroup({conversationId: 'publicChat:1@feedback.getsession.org'}); - console.log('[vince] myOpenGroup.server:', myOpenGroup.server); - console.log('[vince] myOpenGroup.channel:', myOpenGroup.channel); - console.log('[vince] myOpenGroup.conversationId:', myOpenGroup.conversationId); + }); + + it('can add directly to jobs queue', async () => { + const device = TestUtils.generateFakePubkey(); + const message = TestUtils.generateChatMessage(); + const rawMessage = MessageUtils.toRawMessage(device, message); + + + }); + + it('can queue', async () => { + const device = TestUtils.generateFakePubkey(); + const message = TestUtils.generateChatMessage(); + const rawMessage = MessageUtils.toRawMessage(device, message); + + + }); + + it('can process pending', async () => { + const device = TestUtils.generateFakePubkey(); + const message = TestUtils.generateChatMessage(); + const rawMessage = MessageUtils.toRawMessage(device, message); - }); + });