Deprecate Keys.storageService sync field

This commit is contained in:
automated-signal 2024-11-12 15:54:56 -06:00 committed by GitHub
parent 6c8f47a029
commit 0a2b7db4df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 5 additions and 26 deletions

View file

@ -498,14 +498,14 @@ message SyncMessage {
BLOCKED = 3;
CONFIGURATION = 4;
KEYS = 5;
PNI_IDENTITY = 6;
reserved /* PNI_IDENTITY */ 6;
}
optional Type type = 1;
}
message Keys {
optional bytes storageService = 1; // deprecated: this field will be removed in a future release.
reserved /* storageService */ 1; // deprecated: this field will be removed in a future release.
optional bytes master = 2; // deprecated: this field will be removed in a future release.
optional string accountEntropyPool = 3;
optional bytes mediaRootBackupKey = 4;

View file

@ -3244,7 +3244,6 @@ export async function startApp(): Promise<void> {
ev.confirm();
const { accountEntropyPool, masterKey, mediaRootBackupKey } = ev;
let { storageServiceKey } = ev;
const prevMasterKeyBase64 = window.storage.get('masterKey');
const prevMasterKey = prevMasterKeyBase64
@ -3282,7 +3281,6 @@ export async function startApp(): Promise<void> {
log.info('onKeysSync: updating masterKey');
}
// Override provided storageServiceKey because it is deprecated.
storageServiceKey = deriveStorageServiceKey(derivedMasterKey);
await window.storage.put('masterKey', Bytes.toBase64(derivedMasterKey));
}
@ -3299,12 +3297,8 @@ export async function startApp(): Promise<void> {
await window.storage.put('backupMediaRootKey', mediaRootBackupKey);
}
if (storageServiceKey == null) {
log.warn('onKeysSync: deleting window.storageKey');
await window.storage.remove('storageKey');
}
if (storageServiceKey) {
if (derivedMasterKey != null) {
const storageServiceKey = deriveStorageServiceKey(derivedMasterKey);
const storageServiceKeyBase64 = Bytes.toBase64(storageServiceKey);
if (window.storage.get('storageKey') === storageServiceKeyBase64) {
log.info(

View file

@ -3363,15 +3363,8 @@ export default class MessageReceiver
logUnexpectedUrgentValue(envelope, 'keySync');
if (!sync.storageService && !sync.master) {
return undefined;
}
const ev = new KeysEvent(
{
storageServiceKey: Bytes.isNotEmpty(sync.storageService)
? sync.storageService
: undefined,
masterKey: Bytes.isNotEmpty(sync.master) ? sync.master : undefined,
accountEntropyPool: sync.accountEntropyPool || undefined,
mediaRootBackupKey: Bytes.isNotEmpty(sync.mediaRootBackupKey)

View file

@ -389,30 +389,22 @@ export class FetchLatestEvent extends ConfirmableEvent {
}
export type KeysEventData = Readonly<{
storageServiceKey: Uint8Array | undefined;
masterKey: Uint8Array | undefined;
accountEntropyPool: string | undefined;
mediaRootBackupKey: Uint8Array | undefined;
}>;
export class KeysEvent extends ConfirmableEvent {
public readonly storageServiceKey: Uint8Array | undefined;
public readonly masterKey: Uint8Array | undefined;
public readonly accountEntropyPool: string | undefined;
public readonly mediaRootBackupKey: Uint8Array | undefined;
constructor(
{
storageServiceKey,
masterKey,
accountEntropyPool,
mediaRootBackupKey,
}: KeysEventData,
{ masterKey, accountEntropyPool, mediaRootBackupKey }: KeysEventData,
confirm: ConfirmCallback
) {
super('keys', confirm);
this.storageServiceKey = storageServiceKey;
this.masterKey = masterKey;
this.accountEntropyPool = accountEntropyPool;
this.mediaRootBackupKey = mediaRootBackupKey;