Backups: subscription info improvements

This commit is contained in:
trevor-signal 2025-06-25 14:56:52 -04:00 committed by GitHub
commit 2e9dae6b1f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 146 additions and 78 deletions

View file

@ -4,6 +4,7 @@
import Long from 'long';
import type { Backups, SignalService } from '../protobuf';
import * as Bytes from '../Bytes';
import { drop } from './drop';
// These two proto messages (Backups.AccountData.IIAPSubscriberData &&
// SignalService.AccountRecord.IIAPSubscriberData) should remain in sync. If they drift,
@ -15,6 +16,12 @@ export async function saveBackupsSubscriberData(
| null
| undefined
): Promise<void> {
const previousSubscriberId = window.storage.get('backupsSubscriberId');
if (previousSubscriberId !== backupsSubscriberData?.subscriberId) {
drop(window.Signal.Services.backups.refreshBackupAndSubscriptionStatus());
}
if (backupsSubscriberData == null) {
await window.storage.remove('backupsSubscriberId');
await window.storage.remove('backupsSubscriberPurchaseToken');
@ -47,6 +54,16 @@ export async function saveBackupsSubscriberData(
}
}
export async function saveBackupTier(
backupTier: number | undefined
): Promise<void> {
const previousBackupTier = window.storage.get('backupTier');
await window.storage.put('backupTier', backupTier);
if (backupTier !== previousBackupTier) {
drop(window.Signal.Services.backups.refreshBackupAndSubscriptionStatus());
}
}
export function generateBackupsSubscriberData(): Backups.AccountData.IIAPSubscriberData | null {
const backupsSubscriberId = window.storage.get('backupsSubscriberId');