Disambiguate between types of receipts when stored in the same map
This commit is contained in:
parent
be5ac3a1e0
commit
3c12a0aad0
4 changed files with 15 additions and 1 deletions
|
@ -1,16 +1,24 @@
|
|||
// Copyright 2016 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import type { MessageReceiptType } from './MessageReceipts';
|
||||
|
||||
// This function is necessary because the only thing we can guarantee will be unique is
|
||||
// three pieces of data: sender, deviceId, and timestamp.
|
||||
// Because we don't care which device interacted with our message, we collapse this down
|
||||
// to: sender + timestamp.
|
||||
// In some cases, modifiers are stored in the same map, so we also add the modifier type
|
||||
|
||||
type ModifierType = MessageReceiptType | 'readsync' | 'viewsync';
|
||||
|
||||
export function generateCacheKey({
|
||||
sender,
|
||||
timestamp,
|
||||
type,
|
||||
}: {
|
||||
sender: string;
|
||||
timestamp: number;
|
||||
type: ModifierType;
|
||||
}): string {
|
||||
return `cacheKey-${sender}-${timestamp}`;
|
||||
return `cacheKey-${sender}-${timestamp}-${type}`;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue