Page MenuHomePhorge

D14244.1768785644.diff
No OneTemporary

Size
5 KB
Referenced Files
None
Subscribers
None

D14244.1768785644.diff

diff --git a/native/backup/backup-handler.js b/native/backup/backup-handler.js
--- a/native/backup/backup-handler.js
+++ b/native/backup/backup-handler.js
@@ -41,6 +41,28 @@
const getCurrentIdentityUserState = useCurrentIdentityUserState();
const migrateToNewFlow = useMigrationToNewFlow();
+ const startBackupHandler = React.useCallback(() => {
+ try {
+ commCoreModule.startBackupHandler();
+ setHandlerStarted(true);
+ } catch (err) {
+ const message = getMessageForException(err) ?? 'unknown error';
+ showAlertToStaff('Error starting backup handler', message);
+ console.log('Error starting backup handler:', message);
+ }
+ }, [showAlertToStaff]);
+
+ const stopBackupHandler = React.useCallback(() => {
+ try {
+ commCoreModule.stopBackupHandler();
+ setHandlerStarted(false);
+ } catch (err) {
+ const message = getMessageForException(err) ?? 'unknown error';
+ showAlertToStaff('Error stopping backup handler', message);
+ console.log('Error stopping backup handler:', message);
+ }
+ }, [showAlertToStaff]);
+
React.useEffect(() => {
if (
!staffCanSee ||
@@ -51,34 +73,57 @@
}
if (!handlerStarted && canPerformBackupOperation) {
- try {
- commCoreModule.startBackupHandler();
- setHandlerStarted(true);
- } catch (err) {
- const message = getMessageForException(err) ?? 'unknown error';
- showAlertToStaff('Error starting backup handler', message);
- console.log('Error starting backup handler:', message);
- }
+ startBackupHandler();
}
if (handlerStarted && !canPerformBackupOperation) {
- try {
- commCoreModule.stopBackupHandler();
- setHandlerStarted(false);
- } catch (err) {
- const message = getMessageForException(err) ?? 'unknown error';
- showAlertToStaff('Error stopping backup handler', message);
- console.log('Error stopping backup handler:', message);
- }
+ stopBackupHandler();
}
}, [
canPerformBackupOperation,
deviceKind,
handlerStarted,
- showAlertToStaff,
staffCanSee,
+ startBackupHandler,
+ stopBackupHandler,
]);
+ const performMigrationToNewFlow = React.useCallback(
+ async (currentIdentityUserState: CurrentIdentityUserState) => {
+ try {
+ const promise = migrateToNewFlow(currentIdentityUserState);
+ void dispatchActionPromise(createUserKeysBackupActionTypes, promise);
+ await promise;
+ } catch (err) {
+ const errorMessage = getMessageForException(err) ?? 'unknown error';
+ showAlertToStaff(
+ 'Error migrating to signed device lists',
+ errorMessage,
+ );
+ console.log('Error migrating to signed device lists', errorMessage);
+ }
+ },
+ [dispatchActionPromise, migrateToNewFlow, showAlertToStaff],
+ );
+
+ const performBackupUpload = React.useCallback(async () => {
+ try {
+ const promise = (async () => {
+ const backupID = await createUserKeysBackup();
+ return {
+ backupID,
+ timestamp: Date.now(),
+ };
+ })();
+ void dispatchActionPromise(createUserKeysBackupActionTypes, promise);
+ await promise;
+ } catch (err) {
+ const errorMessage = getMessageForException(err) ?? 'unknown error';
+ showAlertToStaff('Error creating User Keys backup', errorMessage);
+ console.log('Error creating User Keys backup', errorMessage);
+ }
+ }, [createUserKeysBackup, dispatchActionPromise, showAlertToStaff]);
+
React.useEffect(() => {
if (
!staffCanSee ||
@@ -124,45 +169,22 @@
return;
}
- try {
- const promise = (async () => {
- if (shouldDoMigration) {
- if (!currentIdentityUserState) {
- throw new Error('Missing currentIdentityUserState');
- }
-
- // Early return without checking `shouldCreateUserKeysBackup`
- // is safe because migration is uploading User Keys backup.
- return await migrateToNewFlow(currentIdentityUserState);
- }
-
- const backupID = await createUserKeysBackup();
- return {
- backupID,
- timestamp: Date.now(),
- };
- })();
- void dispatchActionPromise(createUserKeysBackupActionTypes, promise);
- await promise;
- } catch (err) {
- const errorMessage = getMessageForException(err) ?? 'unknown error';
- const errorTitle = shouldDoMigration
- ? 'migrating to signed device lists'
- : 'creating User Keys backup';
- showAlertToStaff(`Error ${errorTitle}`, errorMessage);
- console.log(`Error ${errorTitle}:`, errorMessage);
+ if (shouldDoMigration) {
+ await performMigrationToNewFlow(currentIdentityUserState);
+ } else {
+ await performBackupUpload();
}
+
backupUploadInProgress.current = false;
})();
}, [
canPerformBackupOperation,
- createUserKeysBackup,
deviceKind,
- dispatchActionPromise,
getCurrentIdentityUserState,
handlerStarted,
latestBackupInfo,
- migrateToNewFlow,
+ performBackupUpload,
+ performMigrationToNewFlow,
showAlertToStaff,
staffCanSee,
]);

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 19, 1:20 AM (15 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5953767
Default Alt Text
D14244.1768785644.diff (5 KB)

Event Timeline