Move receipts and view/read syncs to new syncTasks system
This commit is contained in:
parent
1a263e63da
commit
75c32e86f0
33 changed files with 1242 additions and 612 deletions
|
@ -7,10 +7,13 @@ import { assert } from 'chai';
|
|||
import { type AciString, generateAci } from '../types/ServiceId';
|
||||
import type { MessageAttributesType } from '../model-types';
|
||||
import { SendStatus } from '../messages/MessageSendState';
|
||||
import {
|
||||
type MessageReceiptAttributesType,
|
||||
import type {
|
||||
MessageReceiptAttributesType,
|
||||
MessageReceiptType,
|
||||
} from '../messageModifiers/MessageReceipts';
|
||||
import {
|
||||
onReceipt,
|
||||
messageReceiptTypeSchema,
|
||||
} from '../messageModifiers/MessageReceipts';
|
||||
import { ReadStatus } from '../messages/MessageReadStatus';
|
||||
|
||||
|
@ -31,14 +34,16 @@ describe('MessageReceipts', () => {
|
|||
): MessageReceiptAttributesType {
|
||||
return {
|
||||
envelopeId: uuid(),
|
||||
messageSentAt,
|
||||
receiptTimestamp: 1,
|
||||
removeFromMessageReceiverCache: () => null,
|
||||
sourceConversationId,
|
||||
sourceDevice: 1,
|
||||
sourceServiceId: generateAci(),
|
||||
type,
|
||||
wasSentEncrypted: true,
|
||||
syncTaskId: uuid(),
|
||||
receiptSync: {
|
||||
messageSentAt,
|
||||
receiptTimestamp: 1,
|
||||
sourceConversationId,
|
||||
sourceDevice: 1,
|
||||
sourceServiceId: generateAci(),
|
||||
type,
|
||||
wasSentEncrypted: true,
|
||||
},
|
||||
};
|
||||
}
|
||||
it('processes all receipts in a batch', async () => {
|
||||
|
@ -78,10 +83,18 @@ describe('MessageReceipts', () => {
|
|||
});
|
||||
|
||||
await Promise.all([
|
||||
onReceipt(generateReceipt('aaaa', sentAt, MessageReceiptType.Delivery)),
|
||||
onReceipt(generateReceipt('bbbb', sentAt, MessageReceiptType.Delivery)),
|
||||
onReceipt(generateReceipt('cccc', sentAt, MessageReceiptType.Read)),
|
||||
onReceipt(generateReceipt('aaaa', sentAt, MessageReceiptType.Read)),
|
||||
onReceipt(
|
||||
generateReceipt('aaaa', sentAt, messageReceiptTypeSchema.enum.Delivery)
|
||||
),
|
||||
onReceipt(
|
||||
generateReceipt('bbbb', sentAt, messageReceiptTypeSchema.enum.Delivery)
|
||||
),
|
||||
onReceipt(
|
||||
generateReceipt('cccc', sentAt, messageReceiptTypeSchema.enum.Read)
|
||||
),
|
||||
onReceipt(
|
||||
generateReceipt('aaaa', sentAt, messageReceiptTypeSchema.enum.Read)
|
||||
),
|
||||
]);
|
||||
|
||||
const messageFromDatabase = await window.Signal.Data.getMessageById(id);
|
||||
|
@ -154,20 +167,48 @@ describe('MessageReceipts', () => {
|
|||
|
||||
await Promise.all([
|
||||
// send receipts for original message
|
||||
onReceipt(generateReceipt('aaaa', sentAt, MessageReceiptType.Delivery)),
|
||||
onReceipt(generateReceipt('bbbb', sentAt, MessageReceiptType.Delivery)),
|
||||
onReceipt(generateReceipt('cccc', sentAt, MessageReceiptType.Read)),
|
||||
onReceipt(generateReceipt('aaaa', sentAt, MessageReceiptType.Read)),
|
||||
onReceipt(
|
||||
generateReceipt('aaaa', sentAt, messageReceiptTypeSchema.enum.Delivery)
|
||||
),
|
||||
onReceipt(
|
||||
generateReceipt('bbbb', sentAt, messageReceiptTypeSchema.enum.Delivery)
|
||||
),
|
||||
onReceipt(
|
||||
generateReceipt('cccc', sentAt, messageReceiptTypeSchema.enum.Read)
|
||||
),
|
||||
onReceipt(
|
||||
generateReceipt('aaaa', sentAt, messageReceiptTypeSchema.enum.Read)
|
||||
),
|
||||
|
||||
// and send receipts for edited message
|
||||
onReceipt(
|
||||
generateReceipt('aaaa', editedSentAt, MessageReceiptType.Delivery)
|
||||
generateReceipt(
|
||||
'aaaa',
|
||||
editedSentAt,
|
||||
messageReceiptTypeSchema.enum.Delivery
|
||||
)
|
||||
),
|
||||
onReceipt(
|
||||
generateReceipt('bbbb', editedSentAt, MessageReceiptType.Delivery)
|
||||
generateReceipt(
|
||||
'bbbb',
|
||||
editedSentAt,
|
||||
messageReceiptTypeSchema.enum.Delivery
|
||||
)
|
||||
),
|
||||
onReceipt(
|
||||
generateReceipt(
|
||||
'cccc',
|
||||
editedSentAt,
|
||||
messageReceiptTypeSchema.enum.Read
|
||||
)
|
||||
),
|
||||
onReceipt(
|
||||
generateReceipt(
|
||||
'bbbb',
|
||||
editedSentAt,
|
||||
messageReceiptTypeSchema.enum.Read
|
||||
)
|
||||
),
|
||||
onReceipt(generateReceipt('cccc', editedSentAt, MessageReceiptType.Read)),
|
||||
onReceipt(generateReceipt('bbbb', editedSentAt, MessageReceiptType.Read)),
|
||||
]);
|
||||
|
||||
const messageFromDatabase = await window.Signal.Data.getMessageById(id);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue