Page MenuHomePhorge

D14921.1765119388.diff
No OneTemporary

Size
4 KB
Referenced Files
None
Subscribers
None

D14921.1765119388.diff

diff --git a/lib/actions/backup-actions.js b/lib/actions/backup-actions.js
--- a/lib/actions/backup-actions.js
+++ b/lib/actions/backup-actions.js
@@ -25,8 +25,13 @@
failed: 'RESTORE_USER_DATA_STEP_FAILED',
});
+const resetBackupRestoreStateActionType = 'RESET_BACKUP_RESTOTE_STATE';
+const markBackupAsRestoredActionType = 'MARK_BACKUP_AS_RESTORED';
+
export {
createUserKeysBackupActionTypes,
createUserDataBackupActionTypes,
restoreUserDataStepActionTypes,
+ resetBackupRestoreStateActionType,
+ markBackupAsRestoredActionType,
};
diff --git a/lib/reducers/backup-reducer.js b/lib/reducers/backup-reducer.js
--- a/lib/reducers/backup-reducer.js
+++ b/lib/reducers/backup-reducer.js
@@ -6,9 +6,12 @@
createUserDataBackupActionTypes,
createUserKeysBackupActionTypes,
restoreUserDataStepActionTypes,
+ markBackupAsRestoredActionType,
+ resetBackupRestoreStateActionType,
} from '../actions/backup-actions.js';
import {
changeIdentityUserPasswordActionTypes,
+ logOutActionTypes,
restoreUserActionTypes,
} from '../actions/user-actions.js';
import {
@@ -60,7 +63,22 @@
return store;
}
- if (action.type === restoreUserActionTypes.success) {
+ if (
+ action.type === resetBackupRestoreStateActionType ||
+ action.type === logOutActionTypes.success
+ ) {
+ return {
+ ...store,
+ status: 'no_backup',
+ payload: {},
+ };
+ } else if (action.type === markBackupAsRestoredActionType) {
+ return {
+ ...store,
+ status: 'user_data_restore_completed',
+ payload: { forced: true },
+ };
+ } else if (action.type === restoreUserActionTypes.success) {
invariant(
store.status === 'no_backup',
`Restore protocol dispatched but backup state was '${store.status}'`,
diff --git a/lib/types/backup-types.js b/lib/types/backup-types.js
--- a/lib/types/backup-types.js
+++ b/lib/types/backup-types.js
@@ -93,53 +93,55 @@
export type RestoreBackupState =
| {
- status: 'no_backup',
- payload: {},
+ +status: 'no_backup',
+ +payload: {},
}
| {
- status: 'user_keys_backup_started',
- payload: {},
+ +status: 'user_keys_backup_started',
+ +payload: {},
}
| {
- status: 'user_keys_backup_success',
- payload: {},
+ +status: 'user_keys_backup_success',
+ +payload: {},
}
| {
- status: 'user_keys_backup_failed',
- payload: {},
+ +status: 'user_keys_backup_failed',
+ +payload: {},
}
| {
- status: 'user_data_backup_started',
- payload: {},
+ +status: 'user_data_backup_started',
+ +payload: {},
}
| {
- status: 'user_data_backup_success',
- payload: {},
+ +status: 'user_data_backup_success',
+ +payload: {},
}
| {
- status: 'user_data_backup_failed',
- payload: {},
+ +status: 'user_data_backup_failed',
+ +payload: {},
}
| {
- status: 'user_data_restore_started',
- payload: {
- step: RestoreUserDataStep,
+ +status: 'user_data_restore_started',
+ +payload: {
+ +step: RestoreUserDataStep,
},
}
| {
- status: 'user_data_restore_step_completed',
- payload: {
- step: RestoreUserDataStep,
+ +status: 'user_data_restore_step_completed',
+ +payload: {
+ +step: RestoreUserDataStep,
},
}
| {
- status: 'user_data_restore_failed',
- payload: {
- step: RestoreUserDataStep,
- error: Error,
+ +status: 'user_data_restore_failed',
+ +payload: {
+ +step: RestoreUserDataStep,
+ +error: Error,
},
}
| {
- status: 'user_data_restore_completed',
- payload: {},
+ +status: 'user_data_restore_completed',
+ +payload: {
+ +forced?: boolean,
+ },
};
diff --git a/lib/types/redux-types.js b/lib/types/redux-types.js
--- a/lib/types/redux-types.js
+++ b/lib/types/redux-types.js
@@ -1679,6 +1679,14 @@
+payload: RestoreProtocolResult,
+loadingInfo: LoadingInfo,
}
+ | {
+ +type: 'RESET_BACKUP_RESTOTE_STATE',
+ +payload?: void,
+ }
+ | {
+ +type: 'MARK_BACKUP_AS_RESTORED',
+ +payload?: void,
+ }
| {
+type: 'SAVE_UNSUPPORTED_DM_OPERATION',
+payload: SaveUnsupportedOperationPayload,

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 7, 2:56 PM (16 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5844613
Default Alt Text
D14921.1765119388.diff (4 KB)

Event Timeline