diff --git a/src/components/Import/FileImport.vue b/src/components/Import/FileImport.vue index 6f1ab1b4c..89fbc3e69 100644 --- a/src/components/Import/FileImport.vue +++ b/src/components/Import/FileImport.vue @@ -65,6 +65,7 @@ export default Vue.extend({ (key) => ["key", "enc", "hash"].indexOf(key) === -1 ).length; } catch (e) { + console.warn(e); const result = await getEntryDataFromOTPAuthPerLine( reader.result as string ); @@ -75,8 +76,10 @@ export default Vue.extend({ let key: { enc: string; hash: string } | null = null; - if (importData.key) { - key = importData.key; + if (importData.hasOwnProperty("key")) { + if (importData.key) { + key = importData.key; + } delete importData.key; } else if (importData.enc && importData.hash) { key = { enc: importData.enc, hash: importData.hash }; diff --git a/src/components/Import/TextImport.vue b/src/components/Import/TextImport.vue index cd071a617..a6de67f2e 100644 --- a/src/components/Import/TextImport.vue +++ b/src/components/Import/TextImport.vue @@ -48,6 +48,7 @@ export default Vue.extend({ try { exportData = JSON.parse(this.importCode); } catch (error) { + console.warn(error); // Maybe one-otpauth-per line text const result = await getEntryDataFromOTPAuthPerLine(this.importCode); exportData = result.exportData; @@ -57,8 +58,10 @@ export default Vue.extend({ let key: { enc: string; hash: string } | null = null; - if (exportData.key) { - key = exportData.key; + if (exportData.hasOwnProperty("key")) { + if (exportData.key) { + key = exportData.key; + } delete exportData.key; } diff --git a/src/models/storage.ts b/src/models/storage.ts index b975e9d71..f3849979d 100644 --- a/src/models/storage.ts +++ b/src/models/storage.ts @@ -371,7 +371,9 @@ export class EntryStorage { } } } - Object.assign(_data, { key: await BrowserStorage.getKey() }); + if (encryption.getEncryptionStatus()) { + Object.assign(_data, { key: await BrowserStorage.getKey() }); + } return resolve(_data); }); return;