mirror of https://github.com/keeweb/keeweb.git
Merge branch 'release-1.18'
This commit is contained in:
commit
f59b846643
|
@ -258,7 +258,7 @@ const AutoType = {
|
||||||
if (entries.length === 0) {
|
if (entries.length === 0) {
|
||||||
if (evt.filter.useUrl) {
|
if (evt.filter.useUrl) {
|
||||||
evt.filter.useUrl = false;
|
evt.filter.useUrl = false;
|
||||||
if (evt.filter.title) {
|
if (evt.filter.title && AppSettingsModel.autoTypeTitleFilterEnabled) {
|
||||||
evt.filter.useTitle = true;
|
evt.filter.useTitle = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -325,7 +325,7 @@ async function findEntry(request, returnIfOneMatch, filterOptions) {
|
||||||
if (!entries.length) {
|
if (!entries.length) {
|
||||||
if (AppSettingsModel.extensionFocusIfEmpty) {
|
if (AppSettingsModel.extensionFocusIfEmpty) {
|
||||||
filter.useUrl = false;
|
filter.useUrl = false;
|
||||||
if (filter.title) {
|
if (filter.title && AppSettingsModel.autoTypeTitleFilterEnabled) {
|
||||||
filter.useTitle = true;
|
filter.useTitle = true;
|
||||||
entries = filter.getEntries();
|
entries = filter.getEntries();
|
||||||
if (!entries.length) {
|
if (!entries.length) {
|
||||||
|
|
|
@ -18,6 +18,7 @@ const DefaultAppSettings = {
|
||||||
colorfulIcons: false, // use colorful custom icons instead of grayscale
|
colorfulIcons: false, // use colorful custom icons instead of grayscale
|
||||||
useMarkdown: true, // use Markdown in Notes field
|
useMarkdown: true, // use Markdown in Notes field
|
||||||
directAutotype: true, // if only one matching entry is found, select that one automatically
|
directAutotype: true, // if only one matching entry is found, select that one automatically
|
||||||
|
autoTypeTitleFilterEnabled: true, // enable the title filtering in auto-type by default
|
||||||
titlebarStyle: 'default', // window titlebar style
|
titlebarStyle: 'default', // window titlebar style
|
||||||
lockOnMinimize: true, // lock the app when it's minimized
|
lockOnMinimize: true, // lock the app when it's minimized
|
||||||
lockOnCopy: false, // lock the app after a password was copied
|
lockOnCopy: false, // lock the app after a password was copied
|
||||||
|
|
|
@ -432,7 +432,8 @@
|
||||||
"setGenColorfulIcons": "Colorful custom icons in the list",
|
"setGenColorfulIcons": "Colorful custom icons in the list",
|
||||||
"setGenUseMarkdown": "Markdown in notes",
|
"setGenUseMarkdown": "Markdown in notes",
|
||||||
"setGenUseGroupIconForEntries": "Automatically use group icon for new entries",
|
"setGenUseGroupIconForEntries": "Automatically use group icon for new entries",
|
||||||
"setGenDirectAutotype": "If only one matching entry is found, select that one automatically for Autotype",
|
"setGenDirectAutotype": "If only one matching entry is found, select that one automatically for auto-type",
|
||||||
|
"setGenAutoTypeTitleFilterEnabled": "Filter entries by title in auto-type",
|
||||||
"setGenFunction": "Function",
|
"setGenFunction": "Function",
|
||||||
"setGenAutoSyncOnClose": "Automatically save and sync on close",
|
"setGenAutoSyncOnClose": "Automatically save and sync on close",
|
||||||
"setGenAutoSyncTimer": "Automatically save and sync periodically",
|
"setGenAutoSyncTimer": "Automatically save and sync periodically",
|
||||||
|
|
|
@ -677,10 +677,10 @@ class FileModel extends Model {
|
||||||
|
|
||||||
addCustomIcon(iconData) {
|
addCustomIcon(iconData) {
|
||||||
const uuid = kdbxweb.KdbxUuid.random();
|
const uuid = kdbxweb.KdbxUuid.random();
|
||||||
this.db.meta.customIcons[uuid] = {
|
this.db.meta.customIcons.set(uuid.id, {
|
||||||
data: kdbxweb.ByteUtils.arrayToBuffer(kdbxweb.ByteUtils.base64ToBytes(iconData)),
|
data: kdbxweb.ByteUtils.arrayToBuffer(kdbxweb.ByteUtils.base64ToBytes(iconData)),
|
||||||
lastModified: new Date()
|
lastModified: new Date()
|
||||||
};
|
});
|
||||||
return uuid.toString();
|
return uuid.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@ class SettingsGeneralView extends View {
|
||||||
'change .settings__general-use-markdown': 'changeUseMarkdown',
|
'change .settings__general-use-markdown': 'changeUseMarkdown',
|
||||||
'change .settings__general-use-group-icon-for-entries': 'changeUseGroupIconForEntries',
|
'change .settings__general-use-group-icon-for-entries': 'changeUseGroupIconForEntries',
|
||||||
'change .settings__general-direct-autotype': 'changeDirectAutotype',
|
'change .settings__general-direct-autotype': 'changeDirectAutotype',
|
||||||
|
'change .settings__general-autotype-title-filter': 'changeAutoTypeTitleFilter',
|
||||||
'change .settings__general-field-label-dblclick-autotype':
|
'change .settings__general-field-label-dblclick-autotype':
|
||||||
'changeFieldLabelDblClickAutoType',
|
'changeFieldLabelDblClickAutoType',
|
||||||
'change .settings__general-device-owner-auth': 'changeDeviceOwnerAuth',
|
'change .settings__general-device-owner-auth': 'changeDeviceOwnerAuth',
|
||||||
|
@ -135,6 +136,7 @@ class SettingsGeneralView extends View {
|
||||||
useMarkdown: AppSettingsModel.useMarkdown,
|
useMarkdown: AppSettingsModel.useMarkdown,
|
||||||
useGroupIconForEntries: AppSettingsModel.useGroupIconForEntries,
|
useGroupIconForEntries: AppSettingsModel.useGroupIconForEntries,
|
||||||
directAutotype: AppSettingsModel.directAutotype,
|
directAutotype: AppSettingsModel.directAutotype,
|
||||||
|
autoTypeTitleFilterEnabled: AppSettingsModel.autoTypeTitleFilterEnabled,
|
||||||
fieldLabelDblClickAutoType: AppSettingsModel.fieldLabelDblClickAutoType,
|
fieldLabelDblClickAutoType: AppSettingsModel.fieldLabelDblClickAutoType,
|
||||||
supportsTitleBarStyles: Features.supportsTitleBarStyles,
|
supportsTitleBarStyles: Features.supportsTitleBarStyles,
|
||||||
supportsCustomTitleBarAndDraggableWindow:
|
supportsCustomTitleBarAndDraggableWindow:
|
||||||
|
@ -431,6 +433,11 @@ class SettingsGeneralView extends View {
|
||||||
AppSettingsModel.directAutotype = directAutotype;
|
AppSettingsModel.directAutotype = directAutotype;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
changeAutoTypeTitleFilter(e) {
|
||||||
|
const autoTypeTitleFilterEnabled = e.target.checked || false;
|
||||||
|
AppSettingsModel.autoTypeTitleFilterEnabled = autoTypeTitleFilterEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
changeFieldLabelDblClickAutoType(e) {
|
changeFieldLabelDblClickAutoType(e) {
|
||||||
const fieldLabelDblClickAutoType = e.target.checked || false;
|
const fieldLabelDblClickAutoType = e.target.checked || false;
|
||||||
AppSettingsModel.fieldLabelDblClickAutoType = fieldLabelDblClickAutoType;
|
AppSettingsModel.fieldLabelDblClickAutoType = fieldLabelDblClickAutoType;
|
||||||
|
|
|
@ -169,6 +169,11 @@
|
||||||
id="settings__general-direct-autotype" {{#if directAutotype}}checked{{/if}} />
|
id="settings__general-direct-autotype" {{#if directAutotype}}checked{{/if}} />
|
||||||
<label for="settings__general-direct-autotype">{{res 'setGenDirectAutotype'}}</label>
|
<label for="settings__general-direct-autotype">{{res 'setGenDirectAutotype'}}</label>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<input type="checkbox" class="settings__input input-base settings__general-autotype-title-filter"
|
||||||
|
id="settings__general-autotype-title-filter" {{#if autoTypeTitleFilterEnabled}}checked{{/if}} />
|
||||||
|
<label for="settings__general-autotype-title-filter">{{res 'setGenAutoTypeTitleFilterEnabled'}}</label>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<input type="checkbox" class="settings__input input-base settings__general-field-label-dblclick-autotype"
|
<input type="checkbox" class="settings__input input-base settings__general-field-label-dblclick-autotype"
|
||||||
id="settings__general-field-label-dblclick-autotype" {{#if fieldLabelDblClickAutoType}}checked{{/if}} />
|
id="settings__general-field-label-dblclick-autotype" {{#if fieldLabelDblClickAutoType}}checked{{/if}} />
|
||||||
|
|
|
@ -376,6 +376,9 @@ function restoreMainWindow() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function showAndFocusMainWindow() {
|
function showAndFocusMainWindow() {
|
||||||
|
if (appIcon) {
|
||||||
|
restoreMainWindow();
|
||||||
|
}
|
||||||
if (mainWindowMaximized) {
|
if (mainWindowMaximized) {
|
||||||
mainWindow.maximize();
|
mainWindow.maximize();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "KeeWeb",
|
"name": "KeeWeb",
|
||||||
"version": "1.18.3",
|
"version": "1.18.4",
|
||||||
"description": "Free cross-platform password manager compatible with KeePass",
|
"description": "Free cross-platform password manager compatible with KeePass",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"homepage": "https://keeweb.info",
|
"homepage": "https://keeweb.info",
|
||||||
|
|
|
@ -39,7 +39,7 @@ function installDarwinUpdate(updateFilePath) {
|
||||||
`--app=${appPath}`
|
`--app=${appPath}`
|
||||||
]);
|
]);
|
||||||
|
|
||||||
electron.app.exit(0);
|
electron.app.quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
function installWin32Update(updateFilePath) {
|
function installWin32Update(updateFilePath) {
|
||||||
|
@ -52,7 +52,7 @@ function installWin32Update(updateFilePath) {
|
||||||
|
|
||||||
const ps = spawnDetached('cmd');
|
const ps = spawnDetached('cmd');
|
||||||
ps.stdin.end(`${updateCommand}\nexit\n`, 'utf8', () => {
|
ps.stdin.end(`${updateCommand}\nexit\n`, 'utf8', () => {
|
||||||
electron.app.exit(0);
|
electron.app.quit();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"name": "keeweb",
|
"name": "keeweb",
|
||||||
"version": "1.18.3",
|
"version": "1.18.4",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"version": "1.18.1",
|
"version": "1.18.3",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.14.0",
|
"@babel/core": "^7.14.0",
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
"@babel/plugin-proposal-optional-chaining": "^7.13.12",
|
"@babel/plugin-proposal-optional-chaining": "^7.13.12",
|
||||||
"@babel/preset-env": "^7.14.1",
|
"@babel/preset-env": "^7.14.1",
|
||||||
"@fortawesome/fontawesome-free": "^5.15.3",
|
"@fortawesome/fontawesome-free": "^5.15.3",
|
||||||
"@keeweb/keeweb-native-messaging-host": "https://github.com/keeweb/keeweb-connect/releases/download/0.3.3/keeweb-native-messaging-host.tgz",
|
"@keeweb/keeweb-native-messaging-host": "https://github.com/keeweb/keeweb-connect/releases/download/0.3.5/keeweb-native-messaging-host.tgz",
|
||||||
"@keeweb/keeweb-native-modules": "https://github.com/keeweb/keeweb-native-modules/releases/download/0.11.6/keeweb-native-modules.tgz",
|
"@keeweb/keeweb-native-modules": "https://github.com/keeweb/keeweb-native-modules/releases/download/0.11.6/keeweb-native-modules.tgz",
|
||||||
"adm-zip": "^0.5.5",
|
"adm-zip": "^0.5.5",
|
||||||
"argon2-browser": "1.15.4",
|
"argon2-browser": "1.15.4",
|
||||||
|
@ -1567,9 +1567,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@keeweb/keeweb-native-messaging-host": {
|
"node_modules/@keeweb/keeweb-native-messaging-host": {
|
||||||
"version": "0.3.3",
|
"version": "0.3.5",
|
||||||
"resolved": "https://github.com/keeweb/keeweb-connect/releases/download/0.3.3/keeweb-native-messaging-host.tgz",
|
"resolved": "https://github.com/keeweb/keeweb-connect/releases/download/0.3.5/keeweb-native-messaging-host.tgz",
|
||||||
"integrity": "sha512-AvHWU0Bwv46Xl6PLyehRRNuZMn+3iWB9zf/YORp4JoJQhQuO8E3XODUadz2gMrZ/irHxC71sQlZG1vAOiUJqdw==",
|
"integrity": "sha512-LitShO2m12x9z/FyNzLpmsA90bz96a45uESyz6oAQvoIqW7axrHtNqb8KHvmY8oz9+CySD3It8y+XuLXXS+gfw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@keeweb/keeweb-native-modules": {
|
"node_modules/@keeweb/keeweb-native-modules": {
|
||||||
|
@ -21888,8 +21888,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@keeweb/keeweb-native-messaging-host": {
|
"@keeweb/keeweb-native-messaging-host": {
|
||||||
"version": "https://github.com/keeweb/keeweb-connect/releases/download/0.3.3/keeweb-native-messaging-host.tgz",
|
"version": "https://github.com/keeweb/keeweb-connect/releases/download/0.3.5/keeweb-native-messaging-host.tgz",
|
||||||
"integrity": "sha512-AvHWU0Bwv46Xl6PLyehRRNuZMn+3iWB9zf/YORp4JoJQhQuO8E3XODUadz2gMrZ/irHxC71sQlZG1vAOiUJqdw=="
|
"integrity": "sha512-LitShO2m12x9z/FyNzLpmsA90bz96a45uESyz6oAQvoIqW7axrHtNqb8KHvmY8oz9+CySD3It8y+XuLXXS+gfw=="
|
||||||
},
|
},
|
||||||
"@keeweb/keeweb-native-modules": {
|
"@keeweb/keeweb-native-modules": {
|
||||||
"version": "https://github.com/keeweb/keeweb-native-modules/releases/download/0.11.6/keeweb-native-modules.tgz",
|
"version": "https://github.com/keeweb/keeweb-native-modules/releases/download/0.11.6/keeweb-native-modules.tgz",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "keeweb",
|
"name": "keeweb",
|
||||||
"version": "1.18.3",
|
"version": "1.18.4",
|
||||||
"description": "Free cross-platform password manager compatible with KeePass",
|
"description": "Free cross-platform password manager compatible with KeePass",
|
||||||
"main": "Gruntfile.js",
|
"main": "Gruntfile.js",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
"@babel/plugin-proposal-optional-chaining": "^7.13.12",
|
"@babel/plugin-proposal-optional-chaining": "^7.13.12",
|
||||||
"@babel/preset-env": "^7.14.1",
|
"@babel/preset-env": "^7.14.1",
|
||||||
"@fortawesome/fontawesome-free": "^5.15.3",
|
"@fortawesome/fontawesome-free": "^5.15.3",
|
||||||
"@keeweb/keeweb-native-messaging-host": "https://github.com/keeweb/keeweb-connect/releases/download/0.3.3/keeweb-native-messaging-host.tgz",
|
"@keeweb/keeweb-native-messaging-host": "https://github.com/keeweb/keeweb-connect/releases/download/0.3.5/keeweb-native-messaging-host.tgz",
|
||||||
"@keeweb/keeweb-native-modules": "https://github.com/keeweb/keeweb-native-modules/releases/download/0.11.6/keeweb-native-modules.tgz",
|
"@keeweb/keeweb-native-modules": "https://github.com/keeweb/keeweb-native-modules/releases/download/0.11.6/keeweb-native-modules.tgz",
|
||||||
"adm-zip": "^0.5.5",
|
"adm-zip": "^0.5.5",
|
||||||
"argon2-browser": "1.15.4",
|
"argon2-browser": "1.15.4",
|
||||||
|
@ -123,7 +123,7 @@
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Antelle",
|
"name": "Antelle",
|
||||||
"email": "antelle.net@gmail.com",
|
"email": "antelle.net@gmail.com",
|
||||||
"url": "http://antelle.net"
|
"url": "https://antelle.net"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0"
|
"node": ">=10.0"
|
||||||
|
|
|
@ -1,5 +1,12 @@
|
||||||
Release notes
|
Release notes
|
||||||
-------------
|
-------------
|
||||||
|
##### v1.18.4 (2021-05-12)
|
||||||
|
`+` #1814: option to disable auto-type title filter by default
|
||||||
|
`-` #1808: restore KeeWeb from system tray on extension request
|
||||||
|
`-` fix #1810: extension connection on old macOS (10.11)
|
||||||
|
`-` fix #1813: custom icon selection
|
||||||
|
`-` fix #1811: app doesn't quit during update
|
||||||
|
|
||||||
##### v1.18.3 (2021-05-09)
|
##### v1.18.3 (2021-05-09)
|
||||||
`-` fix #1804: filling OTP in browser extensions
|
`-` fix #1804: filling OTP in browser extensions
|
||||||
`*` fix #1805: auto-unchecking auto-type filters if nothing found
|
`*` fix #1805: auto-unchecking auto-type filters if nothing found
|
||||||
|
|
Loading…
Reference in New Issue