Migrate message ids to UUIDv7
This commit is contained in:
parent
c1b5811c39
commit
60d7cbff3e
24 changed files with 203 additions and 147 deletions
|
@ -174,6 +174,7 @@ import { ReceiptType } from '../types/Receipt';
|
|||
import { getQuoteAttachment } from '../util/makeQuote';
|
||||
import { deriveProfileKeyVersion } from '../util/zkgroup';
|
||||
import { incrementMessageCounter } from '../util/incrementMessageCounter';
|
||||
import { generateMessageId } from '../util/generateMessageId';
|
||||
import { getMessageAuthorText } from '../util/getMessageAuthorText';
|
||||
import { downscaleOutgoingAttachment } from '../util/attachments';
|
||||
import { MessageRequestResponseEvent } from '../types/MessageRequestResponseEvent';
|
||||
|
@ -2328,11 +2329,10 @@ export class ConversationModel extends window.Backbone
|
|||
: lastMessageTimestamp;
|
||||
|
||||
const message: MessageAttributesType = {
|
||||
id: generateGuid(),
|
||||
...generateMessageId(incrementMessageCounter()),
|
||||
conversationId: this.id,
|
||||
type: 'message-request-response-event',
|
||||
sent_at: maybeLastMessageTimestamp,
|
||||
received_at: incrementMessageCounter(),
|
||||
received_at_ms: maybeLastMessageTimestamp,
|
||||
readStatus: ReadStatus.Read,
|
||||
seenStatus: SeenStatus.NotApplicable,
|
||||
|
@ -3085,12 +3085,11 @@ export class ConversationModel extends window.Backbone
|
|||
});
|
||||
|
||||
const message: MessageAttributesType = {
|
||||
id: generateGuid(),
|
||||
...generateMessageId(receivedAtCounter),
|
||||
conversationId: this.id,
|
||||
type: 'chat-session-refreshed',
|
||||
timestamp: receivedAt,
|
||||
sent_at: receivedAt,
|
||||
received_at: receivedAtCounter,
|
||||
received_at_ms: receivedAt,
|
||||
readStatus: ReadStatus.Unread,
|
||||
seenStatus: SeenStatus.Unseen,
|
||||
|
@ -3133,12 +3132,11 @@ export class ConversationModel extends window.Backbone
|
|||
}
|
||||
|
||||
const message: MessageAttributesType = {
|
||||
id: generateGuid(),
|
||||
...generateMessageId(receivedAtCounter),
|
||||
conversationId: this.id,
|
||||
type: 'delivery-issue',
|
||||
sourceServiceId: senderAci,
|
||||
sent_at: receivedAt,
|
||||
received_at: receivedAtCounter,
|
||||
received_at_ms: receivedAt,
|
||||
timestamp: receivedAt,
|
||||
readStatus: ReadStatus.Unread,
|
||||
|
@ -3183,12 +3181,11 @@ export class ConversationModel extends window.Backbone
|
|||
|
||||
const timestamp = Date.now();
|
||||
const message: MessageAttributesType = {
|
||||
id: generateGuid(),
|
||||
...generateMessageId(incrementMessageCounter()),
|
||||
conversationId: this.id,
|
||||
type: 'keychange',
|
||||
sent_at: timestamp,
|
||||
timestamp,
|
||||
received_at: incrementMessageCounter(),
|
||||
received_at_ms: timestamp,
|
||||
key_changed: keyChangedId,
|
||||
readStatus: ReadStatus.Read,
|
||||
|
@ -3245,12 +3242,11 @@ export class ConversationModel extends window.Backbone
|
|||
|
||||
const timestamp = Date.now();
|
||||
const message: MessageAttributesType = {
|
||||
id: generateGuid(),
|
||||
...generateMessageId(incrementMessageCounter()),
|
||||
conversationId: this.id,
|
||||
type: 'conversation-merge',
|
||||
sent_at: timestamp,
|
||||
timestamp,
|
||||
received_at: incrementMessageCounter(),
|
||||
received_at_ms: timestamp,
|
||||
conversationMerge: {
|
||||
renderInfo,
|
||||
|
@ -3294,12 +3290,11 @@ export class ConversationModel extends window.Backbone
|
|||
log.info(`${logId}: adding notification`);
|
||||
const timestamp = Date.now();
|
||||
const message: MessageAttributesType = {
|
||||
id: generateGuid(),
|
||||
...generateMessageId(incrementMessageCounter()),
|
||||
conversationId: this.id,
|
||||
type: 'phone-number-discovery',
|
||||
sent_at: timestamp,
|
||||
timestamp,
|
||||
received_at: incrementMessageCounter(),
|
||||
received_at_ms: timestamp,
|
||||
phoneNumberDiscovery: {
|
||||
e164,
|
||||
|
@ -3343,12 +3338,11 @@ export class ConversationModel extends window.Backbone
|
|||
|
||||
const timestamp = Date.now();
|
||||
const message: MessageAttributesType = {
|
||||
id: generateGuid(),
|
||||
...generateMessageId(incrementMessageCounter()),
|
||||
conversationId: this.id,
|
||||
local: Boolean(options.local),
|
||||
readStatus: ReadStatus.Read,
|
||||
received_at_ms: timestamp,
|
||||
received_at: incrementMessageCounter(),
|
||||
seenStatus: options.local ? SeenStatus.Seen : SeenStatus.Unseen,
|
||||
sent_at: lastMessage,
|
||||
timestamp,
|
||||
|
@ -3388,11 +3382,10 @@ export class ConversationModel extends window.Backbone
|
|||
): Promise<void> {
|
||||
const now = Date.now();
|
||||
const message: MessageAttributesType = {
|
||||
id: generateGuid(),
|
||||
...generateMessageId(incrementMessageCounter()),
|
||||
conversationId: this.id,
|
||||
type: 'profile-change',
|
||||
sent_at: now,
|
||||
received_at: incrementMessageCounter(),
|
||||
received_at_ms: now,
|
||||
readStatus: ReadStatus.Read,
|
||||
seenStatus: SeenStatus.NotApplicable,
|
||||
|
@ -3432,11 +3425,10 @@ export class ConversationModel extends window.Backbone
|
|||
): Promise<string> {
|
||||
const now = Date.now();
|
||||
const message: MessageAttributesType = {
|
||||
id: generateGuid(),
|
||||
...generateMessageId(incrementMessageCounter()),
|
||||
conversationId: this.id,
|
||||
type,
|
||||
sent_at: now,
|
||||
received_at: incrementMessageCounter(),
|
||||
received_at_ms: now,
|
||||
timestamp: now,
|
||||
|
||||
|
@ -4102,7 +4094,7 @@ export class ConversationModel extends window.Backbone
|
|||
|
||||
// Here we move attachments to disk
|
||||
const attributes = await upgradeMessageSchema({
|
||||
id: generateGuid(),
|
||||
...generateMessageId(incrementMessageCounter()),
|
||||
timestamp: now,
|
||||
type: 'outgoing',
|
||||
body,
|
||||
|
@ -4112,7 +4104,6 @@ export class ConversationModel extends window.Backbone
|
|||
preview,
|
||||
attachments: attachmentsToSend,
|
||||
sent_at: now,
|
||||
received_at: incrementMessageCounter(),
|
||||
received_at_ms: now,
|
||||
expirationStartTimestamp,
|
||||
expireTimer,
|
||||
|
@ -4734,9 +4725,9 @@ export class ConversationModel extends window.Backbone
|
|||
const shouldBeRead =
|
||||
(isInitialSync && isFromSyncOperation) || isFromMe || isNoteToSelf;
|
||||
|
||||
const id = generateGuid();
|
||||
const counter = receivedAt ?? incrementMessageCounter();
|
||||
const attributes = {
|
||||
id,
|
||||
...generateMessageId(counter),
|
||||
conversationId: this.id,
|
||||
expirationTimerUpdate: {
|
||||
expireTimer,
|
||||
|
@ -4747,7 +4738,6 @@ export class ConversationModel extends window.Backbone
|
|||
flags: Proto.DataMessage.Flags.EXPIRATION_TIMER_UPDATE,
|
||||
readStatus: shouldBeRead ? ReadStatus.Read : ReadStatus.Unread,
|
||||
received_at_ms: receivedAtMS,
|
||||
received_at: receivedAt ?? incrementMessageCounter(),
|
||||
seenStatus: shouldBeRead ? SeenStatus.Seen : SeenStatus.Unseen,
|
||||
sent_at: sentAt,
|
||||
timestamp: sentAt,
|
||||
|
@ -4760,7 +4750,7 @@ export class ConversationModel extends window.Backbone
|
|||
});
|
||||
|
||||
window.MessageCache.__DEPRECATED$register(
|
||||
id,
|
||||
attributes.id,
|
||||
attributes,
|
||||
'updateExpirationTimer'
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue