diff --git a/app/scripts/models/app-model.js b/app/scripts/models/app-model.js index 28745794..9a6c088a 100644 --- a/app/scripts/models/app-model.js +++ b/app/scripts/models/app-model.js @@ -697,7 +697,7 @@ class AppModel { let needLoadKeyFile = false; if (!params.keyFileData && fileInfo && fileInfo.keyFileName) { params.keyFileName = fileInfo.keyFileName; - if (this.settings.rememberKeyFiles === 'data') { + if (this.settings.rememberKeyFiles === 'data' && fileInfo.keyFileHash) { params.keyFileData = FileModel.createKeyFileWithHash(fileInfo.keyFileHash); } else if (this.settings.rememberKeyFiles === 'path' && fileInfo.keyFilePath) { params.keyFilePath = fileInfo.keyFilePath; diff --git a/app/scripts/models/attachment-model.js b/app/scripts/models/attachment-model.js index 1f0d767a..511a9cda 100644 --- a/app/scripts/models/attachment-model.js +++ b/app/scripts/models/attachment-model.js @@ -3,10 +3,10 @@ import { Model } from 'framework/model'; class AttachmentModel extends Model { getBinary() { let data = this.data; - if (data && data.ref) { + if (data?.value) { data = data.value; } - if (data && data.getBinary) { + if (data?.getBinary) { data = data.getBinary(); } if (data instanceof ArrayBuffer && data.byteLength) { diff --git a/app/scripts/models/entry-model.js b/app/scripts/models/entry-model.js index 64c0f6cb..06ffa126 100644 --- a/app/scripts/models/entry-model.js +++ b/app/scripts/models/entry-model.js @@ -357,7 +357,7 @@ class EntryModel extends Model { addAttachment(name, data) { this._entryModified(); return this.file.db.createBinary(data).then((binaryRef) => { - this.entry.binaries[name] = binaryRef; + this.entry.binaries.set(name, binaryRef); this._fillByEntry(); }); } diff --git a/desktop/package.json b/desktop/package.json index ac68e66b..afa871d9 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -1,6 +1,6 @@ { "name": "KeeWeb", - "version": "1.18.0", + "version": "1.18.2", "description": "Free cross-platform password manager compatible with KeePass", "main": "main.js", "homepage": "https://keeweb.info", diff --git a/grunt.tasks.js b/grunt.tasks.js index aa57387b..8ef6f48d 100644 --- a/grunt.tasks.js +++ b/grunt.tasks.js @@ -63,15 +63,15 @@ module.exports = function (grunt) { 'electron-patch:win32-x64', 'electron-patch:win32-ia32', 'electron-patch:win32-arm64', - sign ? 'sign-exe:win32-build-x64' : 'noop', - sign ? 'sign-exe:win32-build-ia32' : 'noop', - sign ? 'sign-exe:win32-build-arm64' : 'noop', 'copy:native-modules-win32-x64', 'copy:native-modules-win32-ia32', 'copy:native-modules-win32-arm64', 'copy:native-messaging-host-win32-x64', 'copy:native-messaging-host-win32-ia32', - 'copy:native-messaging-host-win32-arm64' + 'copy:native-messaging-host-win32-arm64', + sign ? 'sign-exe:win32-build-x64' : 'noop', + sign ? 'sign-exe:win32-build-ia32' : 'noop', + sign ? 'sign-exe:win32-build-arm64' : 'noop' ]); grunt.registerTask('build-desktop-executables', [ diff --git a/package-lock.json b/package-lock.json index 7de3d280..7f3c95d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "keeweb", - "version": "1.18.0", + "version": "1.18.2", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "1.17.6", + "version": "1.18.1", "license": "MIT", "dependencies": { "@babel/core": "^7.14.0", @@ -67,7 +67,7 @@ "jquery": "3.6.0", "json-loader": "^0.5.7", "jsqrcode": "github:antelle/jsqrcode#0.1.3", - "kdbxweb": "^2.0.0", + "kdbxweb": "^2.0.1", "load-grunt-tasks": "5.1.0", "lodash": "^4.17.21", "marked": "^2.0.3", @@ -11706,9 +11706,9 @@ } }, "node_modules/kdbxweb": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kdbxweb/-/kdbxweb-2.0.0.tgz", - "integrity": "sha512-oomAWfJRkgWU+1Bi20N2SXJbHLT2wnCibIsdXQm5HNQ8ot2wRa6weAMxvfekYWKbo3/mLKwLV8mq4cNhjXwhTw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kdbxweb/-/kdbxweb-2.0.1.tgz", + "integrity": "sha512-ewghBv4gAGkUgtPv+qELC7U+qA5U6msKYod4UDtCrrAA4taEm13VSdZGxp2iBeIhkh/bciHmRlvtVoSTlLL+1g==", "dependencies": { "pako": "github:keeweb/pako#653c0b00d8941c89d09ed4546d2179001ec44efc", "xmldom": "github:keeweb/xmldom#ec8f61f723e2f403adaf7a1bbf55ced4ff1ea0c6" @@ -29846,9 +29846,9 @@ } }, "kdbxweb": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kdbxweb/-/kdbxweb-2.0.0.tgz", - "integrity": "sha512-oomAWfJRkgWU+1Bi20N2SXJbHLT2wnCibIsdXQm5HNQ8ot2wRa6weAMxvfekYWKbo3/mLKwLV8mq4cNhjXwhTw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kdbxweb/-/kdbxweb-2.0.1.tgz", + "integrity": "sha512-ewghBv4gAGkUgtPv+qELC7U+qA5U6msKYod4UDtCrrAA4taEm13VSdZGxp2iBeIhkh/bciHmRlvtVoSTlLL+1g==", "requires": { "pako": "github:keeweb/pako#653c0b00d8941c89d09ed4546d2179001ec44efc", "xmldom": "github:keeweb/xmldom#ec8f61f723e2f403adaf7a1bbf55ced4ff1ea0c6" diff --git a/package.json b/package.json index b06cf591..81c849d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "keeweb", - "version": "1.18.0", + "version": "1.18.2", "description": "Free cross-platform password manager compatible with KeePass", "main": "Gruntfile.js", "private": true, @@ -69,7 +69,7 @@ "jquery": "3.6.0", "json-loader": "^0.5.7", "jsqrcode": "github:antelle/jsqrcode#0.1.3", - "kdbxweb": "^2.0.0", + "kdbxweb": "^2.0.1", "load-grunt-tasks": "5.1.0", "lodash": "^4.17.21", "marked": "^2.0.3", diff --git a/release-notes.md b/release-notes.md index 9117a979..07eae8e1 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,5 +1,11 @@ Release notes ------------- +##### v1.18.2 (2021-05-08) +`-` fix #1802: opening files with saved keyfiles + +##### v1.18.1 (2021-05-08) +`-` fixed entry attachments display + ##### v1.18.0 (2021-05-08) `+` browser extension "KeeWeb Connect" `+` support for KeePassXC-Browser