Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32895277
D14675.1768177537.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D14675.1768177537.diff
View Options
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
@@ -19,6 +19,19 @@
siweBackupMsgIssuedAt: t.String,
});
+// This type should match `BackupVersionInfo` in
+// `shared/comm-lib/src/backup/mod.rs`
+export type BackupVersionInfo = {
+ +codeVersion: number,
+ +stateVersion: number,
+ +dbVersion: number,
+};
+export const backupVersionInfoValidator: TInterface<BackupVersionInfo> =
+ tShape<BackupVersionInfo>({
+ codeVersion: t.Number,
+ stateVersion: t.Number,
+ dbVersion: t.Number,
+ });
// This type should match `LatestBackupInfo` in
// `native/native_rust_library/src/backup.rs`
export type LatestBackupInfo = {
@@ -26,6 +39,10 @@
+userID: string,
+siweBackupData?: ?SIWEBackupData,
+keyserverDeviceID?: ?string,
+ // ISO 8601 / RFC 3339 DateTime string
+ +creationTimestamp: string,
+ +totalBackupSize: number,
+ +versionInfo: BackupVersionInfo,
};
export const latestBackupInfoResponseValidator: TInterface<LatestBackupInfo> =
tShape<LatestBackupInfo>({
@@ -33,6 +50,9 @@
userID: t.String,
siweBackupData: t.maybe(siweBackupDataValidator),
keyserverDeviceID: t.maybe(t.String),
+ creationTimestamp: t.String,
+ totalBackupSize: t.Number,
+ versionInfo: backupVersionInfoValidator,
});
// This type should match `UserKeys` in
diff --git a/native/account/restore.js b/native/account/restore.js
--- a/native/account/restore.js
+++ b/native/account/restore.js
@@ -69,7 +69,23 @@
if (!latestBackupInfo) {
throw new Error('Backup not found');
}
- const { userID, backupID, keyserverDeviceID } = latestBackupInfo;
+ const {
+ userID,
+ backupID,
+ keyserverDeviceID,
+ creationTimestamp,
+ totalBackupSize,
+ versionInfo,
+ } = latestBackupInfo;
+
+ const backupDetails = {
+ backupID,
+ backupDate: new Date(creationTimestamp).toString(),
+ totalBackupSize,
+ versionInfo,
+ };
+ const stringifiedDetails = JSON.stringify(backupDetails, undefined, 2);
+ console.log(`Restoring from Backup:\n${stringifiedDetails}`);
const { pickledAccount, pickleKey, backupDataKey, backupLogDataKey } =
await getBackupUserKeys(userIdentifier, secret, backupID);
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
@@ -15,8 +15,8 @@
use crate::BACKUP_SOCKET_ADDR;
use crate::RUNTIME;
use backup_client::{
- BackupClient, BackupDescriptor, LatestBackupInfoResponse, RequestedData,
- TryStreamExt, UserIdentity,
+ BackupClient, BackupDescriptor, BackupVersionInfo, LatestBackupInfoResponse,
+ RequestedData, TryStreamExt, UserIdentity,
};
use serde::{Deserialize, Serialize};
use siwe::Message;
@@ -258,7 +258,9 @@
user_id,
siwe_backup_msg,
keyserver_device_id,
- ..
+ creation_timestamp,
+ total_backup_size,
+ version_info,
} = result;
let siwe_backup_data = match siwe_backup_msg {
@@ -279,6 +281,9 @@
user_id,
siwe_backup_data,
keyserver_device_id,
+ creation_timestamp,
+ total_backup_size,
+ version_info,
};
let serialize_result = serde_json::to_string(&result);
@@ -487,6 +492,10 @@
pub siwe_backup_data: Option<SIWEBackupData>,
#[serde(rename = "keyserverDeviceID")]
pub keyserver_device_id: Option<String>,
+ // ISO 8601 / RFC 3339 DateTime string
+ pub creation_timestamp: String,
+ pub total_backup_size: u64,
+ pub version_info: BackupVersionInfo,
}
struct CompactionDownloadResult {
diff --git a/shared/comm-lib/src/backup/mod.rs b/shared/comm-lib/src/backup/mod.rs
--- a/shared/comm-lib/src/backup/mod.rs
+++ b/shared/comm-lib/src/backup/mod.rs
@@ -33,11 +33,8 @@
#[serde(rename = "keyserverDeviceID")]
pub keyserver_device_id: Option<String>,
// ISO 8601 / RFC 3339 DateTime string
- #[serde(default)]
pub creation_timestamp: String,
- #[serde(default)]
pub total_backup_size: u64,
- #[serde(default)]
pub version_info: BackupVersionInfo,
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Jan 12, 12:25 AM (1 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5921077
Default Alt Text
D14675.1768177537.diff (4 KB)
Attached To
Mode
D14675: [native] Pass backup size, timestamp and version info to JS
Attached
Detach File
Event Timeline
Log In to Comment