Page MenuHomePhorge

D15234.1765045777.diff
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

D15234.1765045777.diff

diff --git a/native/account/restore-backup-screen.react.js b/native/account/restore-backup-screen.react.js
--- a/native/account/restore-backup-screen.react.js
+++ b/native/account/restore-backup-screen.react.js
@@ -121,7 +121,8 @@
let alertDetails = unknownErrorAlertDetails;
if (
messageForException === 'user_not_found' ||
- messageForException === 'login_failed'
+ messageForException === 'login_failed' ||
+ messageForException === 'backup_decryption_failed'
) {
alertDetails = userNotFoundAlertDetails;
} else if (
diff --git a/native/account/restore-password-account-screen.react.js b/native/account/restore-password-account-screen.react.js
--- a/native/account/restore-password-account-screen.react.js
+++ b/native/account/restore-password-account-screen.react.js
@@ -127,7 +127,8 @@
let onPress = null;
if (
messageForException === 'user_not_found' ||
- messageForException === 'login_failed'
+ messageForException === 'login_failed' ||
+ messageForException === 'backup_decryption_failed'
) {
alertMessage = userNotFoundAlertDetails;
onPress = onUnsuccessfulLoginAlertAcknowledged;
diff --git a/native/native_rust_library/src/backup.rs b/native/native_rust_library/src/backup.rs
--- a/native/native_rust_library/src/backup.rs
+++ b/native/native_rust_library/src/backup.rs
@@ -527,6 +527,16 @@
#[display(fmt = "user_not_found")]
struct UserNotFoundError;
+#[derive(Debug, derive_more::Display)]
+#[display(fmt = "backup_decryption_failed")]
+struct BackupDecryptionError(Box<dyn Error>);
+
+impl std::error::Error for BackupDecryptionError {
+ fn source(&self) -> Option<&(dyn Error + 'static)> {
+ Some(<Box<_> as std::ops::Deref>::deref(&self.0))
+ }
+}
+
// This struct should match `SIWEBackupData` in `lib/types/backup-types.js`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
@@ -579,7 +589,7 @@
data: &mut [u8],
backup_key: &mut [u8],
) -> Result<Self, Box<dyn Error>> {
- let decrypted = decrypt(backup_key, data)?;
+ let decrypted = decrypt(backup_key, data).map_err(BackupDecryptionError)?;
Ok(serde_json::from_slice(&decrypted)?)
}
}

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 6, 6:29 PM (16 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5840011
Default Alt Text
D15234.1765045777.diff (2 KB)

Event Timeline