Merge branch 'release-1.17' into develop

# Conflicts:
#	release-notes.md
pull/1777/head
antelle 2021-03-13 17:31:05 +01:00
commit 0a776c6a72
No known key found for this signature in database
GPG Key ID: 63C9777AAB7C563C
8 changed files with 38093 additions and 38073 deletions

View File

@ -177,10 +177,18 @@ class AutoTypeSelectView extends View {
backSpacePressed() {
if (this.model.filter.text) {
this.model.filter.text = this.model.filter.text.substr(
0,
this.model.filter.text.length - 1
);
const input = this.el.querySelector('.at-select__header-filter-input');
if (input.selectionStart < input.selectionEnd) {
this.model.filter.text =
this.model.filter.text.substr(0, input.selectionStart) +
this.model.filter.text.substr(input.selectionEnd);
input.selectionStart = input.selectionEnd = 0;
} else {
this.model.filter.text = this.model.filter.text.substr(
0,
this.model.filter.text.length - 1
);
}
this.render();
}
}

View File

@ -38,7 +38,7 @@
cursor: pointer;
position: absolute;
right: 0.7em;
top: 0.7em;
top: 0.5em;
}
}
&__message {

View File

@ -38,7 +38,7 @@
<h3>Desktop modules</h3>
<ul>
<li><a href="https://github.com/ranisalt/node-argon2" target="_blank">node-argon2</a><span class="muted-color">, node.js bindings for Argon2 hashing algorithm, &copy; 2015 Ranieri Althoff</span></li>
<li><a href="https://github.com/tessel/node-usb" target="_blank">node-usb</a><span class="muted-color">, improved USB library for Node.js, &copy; 2012 Nonolith Labs, LLC</span></li>
<li><a href="https://github.com/MadLittleMods/node-usb-detectoin" target="_blank">node-usb-detection</a><span class="muted-color">, list USB devices in system and detect changes on them, &copy; 2013 Kaba AG</span></li>
<li><a href="https://github.com/atom/node-keytar" target="_blank">node-keytar</a><span class="muted-color">, native password node module, &copy; 2013 GitHub Inc.</span></li>
<li><a href="https://github.com/antelle/node-yubikey-chalresp" target="_blank">node-yubikey-chalresp</a><span class="muted-color">, YubiKey challenge-response API for node.js, &copy; 2020 Antelle</span></li>
<li><a href="https://github.com/antelle/node-secure-enclave" target="_blank">node-secure-enclave</a><span class="muted-color">, Secure Enclave module for node.js and Electron, &copy; 2020 Antelle</span></li>

View File

@ -15,15 +15,15 @@ const messageHandlers = {
return;
}
const usb = reqNative('usb');
const usbDetection = reqNative('usb-detection');
usbDetection.registerAdded(usbDeviceAttached);
usbDetection.registerRemoved(usbDeviceDetached);
usbDetection.startMonitoring();
fillAttachedYubiKeys();
usb.on('attach', usbDeviceAttached);
usb.on('detach', usbDeviceDetached);
usb._enableHotplugEvents();
usbListenerRunning = true;
},
@ -32,12 +32,9 @@ const messageHandlers = {
return;
}
const usb = reqNative('usb');
const usbDetection = reqNative('usb-detection');
usb.off('attach', usbDeviceAttached);
usb.off('detach', usbDeviceDetached);
usb._disableHotplugEvents();
usbDetection.stopMonitoring();
usbListenerRunning = false;
attachedYubiKeys.length = 0;
@ -149,7 +146,7 @@ const messageHandlers = {
};
function isYubiKey(device) {
return YubiKeyVendorIds.includes(device.deviceDescriptor.idVendor);
return YubiKeyVendorIds.includes(device.vendorId);
}
function usbDeviceAttached(device) {
@ -170,9 +167,14 @@ function usbDeviceDetached(device) {
}
function fillAttachedYubiKeys() {
const usb = reqNative('usb');
attachedYubiKeys.push(...usb.getDeviceList().filter(isYubiKey));
reportYubiKeys();
const usbDetection = reqNative('usb-detection');
usbDetection.find((err, devices) => {
if (!err && devices) {
attachedYubiKeys.push(...devices.filter(isYubiKey));
reportYubiKeys();
}
return undefined;
});
}
function reportYubiKeys() {
@ -291,6 +293,11 @@ function startInMain(channel) {
callback = (cmd, ...args) => {
channel.emit('message', { cmd, args });
};
const { app } = require('electron');
app.on('will-quit', () => {
messageHandlers.stopUsbListener();
});
}
module.exports = { startInOwnProcess, startInMain };

View File

@ -1,6 +1,6 @@
{
"name": "KeeWeb",
"version": "1.17.1",
"version": "1.17.2",
"description": "Free cross-platform password manager compatible with KeePass",
"main": "main.js",
"homepage": "https://keeweb.info",

76098
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "keeweb",
"version": "1.17.1",
"version": "1.17.2",
"description": "Free cross-platform password manager compatible with KeePass",
"main": "Gruntfile.js",
"private": true,
@ -16,7 +16,7 @@
"@babel/plugin-proposal-optional-chaining": "^7.13.8",
"@babel/preset-env": "^7.13.9",
"@fortawesome/fontawesome-free": "^5.15.2",
"@keeweb/keeweb-native-modules": "https://github.com/keeweb/keeweb-native-modules/releases/download/0.9.3/keeweb-native-modules.tgz",
"@keeweb/keeweb-native-modules": "https://github.com/keeweb/keeweb-native-modules/releases/download/0.10.3/keeweb-native-modules.tgz",
"adm-zip": "^0.5.3",
"argon2-browser": "1.15.3",
"autoprefixer": "^10.2.5",

View File

@ -3,6 +3,11 @@ Release notes
##### v1.18.0 (TBD)
`-` legacy auto-type removed
##### v1.17.2 (2021-03-13)
`-` fixed crashes in the USB module on Windows
`-` fix #1745: deleting selected text in auto-type selector
`-` fix #1738: fixed auto-type on Linux with NumLock pressed
##### v1.17.1 (2021-03-10)
`-` fix #1735: issue with auto-typing some characters on Windows