make messageQueue handle medium group message in sendToGroup

pull/1364/head
Audric Ackermann 5 years ago
parent d4e9b43f0c
commit 22afe50c05
No known key found for this signature in database
GPG Key ID: 999F434D76324AD4

@ -1403,7 +1403,7 @@
await libsession await libsession
.getMessageQueue() .getMessageQueue()
.send(destinationPubkey, mediumGroupChatMessage); .sendToGroup(mediumGroupChatMessage);
} else { } else {
const closedGroupChatMessage = new libsession.Messages.Outgoing.ClosedGroupChatMessage( const closedGroupChatMessage = new libsession.Messages.Outgoing.ClosedGroupChatMessage(
{ {

@ -307,7 +307,7 @@ async function handleMediumGroupChange(
return; return;
} }
// // Check that the sender is admin (make sure it words with multidevice) // Check that the sender is admin (make sure it words with multidevice)
const isAdmin = true; const isAdmin = true;
if (!isAdmin) { if (!isAdmin) {

@ -7,6 +7,7 @@ import {
ClosedGroupMessage, ClosedGroupMessage,
ContentMessage, ContentMessage,
ExpirationTimerUpdateMessage, ExpirationTimerUpdateMessage,
MediumGroupMessage,
OpenGroupMessage, OpenGroupMessage,
SessionRequestMessage, SessionRequestMessage,
SyncMessage, SyncMessage,
@ -51,7 +52,7 @@ export class MessageQueue implements MessageQueueInterface {
} }
public async sendToGroup( public async sendToGroup(
message: OpenGroupMessage | ContentMessage message: OpenGroupMessage | ContentMessage | MediumGroupMessage
): Promise<void> { ): Promise<void> {
// Open groups // Open groups
if (message instanceof OpenGroupMessage) { if (message instanceof OpenGroupMessage) {
@ -93,11 +94,18 @@ export class MessageQueue implements MessageQueueInterface {
groupId = message.groupId; groupId = message.groupId;
} else if (message instanceof ExpirationTimerUpdateMessage) { } else if (message instanceof ExpirationTimerUpdateMessage) {
groupId = message.groupId; groupId = message.groupId;
} else if (message instanceof MediumGroupMessage) {
groupId = message.groupId;
} }
if (!groupId) { if (!groupId) {
throw new Error('Invalid group message passed in sendToGroup.'); throw new Error('Invalid group message passed in sendToGroup.');
} }
// if this is a medium group message. We just need to send to the group pubkey
if (message instanceof MediumGroupMessage) {
window.log.warn('sending medium ', message, ' to ', groupId)
return this.send(PubKey.cast(groupId), message);
}
// Get devices in group // Get devices in group
let recipients = await GroupUtils.getGroupMembers(groupId); let recipients = await GroupUtils.getGroupMembers(groupId);

@ -1,6 +1,7 @@
import { import {
ClosedGroupMessage, ClosedGroupMessage,
ContentMessage, ContentMessage,
MediumGroupMessage,
OpenGroupMessage, OpenGroupMessage,
SyncMessage, SyncMessage,
} from '../messages/outgoing'; } from '../messages/outgoing';
@ -8,7 +9,7 @@ import { RawMessage } from '../types/RawMessage';
import { TypedEventEmitter } from '../utils'; import { TypedEventEmitter } from '../utils';
import { PubKey } from '../types'; import { PubKey } from '../types';
type GroupMessageType = OpenGroupMessage | ClosedGroupMessage; type GroupMessageType = OpenGroupMessage | ClosedGroupMessage | MediumGroupMessage;
export interface MessageQueueInterfaceEvents { export interface MessageQueueInterfaceEvents {
success: ( success: (

Loading…
Cancel
Save