tightening up queue

pull/1177/head
Vincent 5 years ago
parent 00122333ff
commit e09372eacf

@ -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<MessageQueueInterfaceEvents>;
@ -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;
}

@ -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);
});
});

Loading…
Cancel
Save