mirror of https://github.com/keeweb/keeweb.git
Merge branch 'master' into develop
# Conflicts: # release-notes.md
This commit is contained in:
commit
5b118667ef
77
Gruntfile.js
77
Gruntfile.js
|
@ -1,13 +1,16 @@
|
||||||
/* eslint-env node */
|
/* eslint-env node */
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs-extra');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
const debug = require('debug');
|
||||||
|
|
||||||
const webpackConfig = require('./build/webpack.config');
|
const webpackConfig = require('./build/webpack.config');
|
||||||
const pkg = require('./package.json');
|
const pkg = require('./package.json');
|
||||||
const hookRcedit = require('./build/util/hook-rcedit');
|
const hookRcedit = require('./build/util/hook-rcedit');
|
||||||
|
const codeSignConfig = require('../keys/codesign');
|
||||||
|
|
||||||
hookRcedit.setup();
|
hookRcedit.setup();
|
||||||
|
debug.enable('electron-notarize');
|
||||||
|
|
||||||
module.exports = function(grunt) {
|
module.exports = function(grunt) {
|
||||||
require('time-grunt')(grunt);
|
require('time-grunt')(grunt);
|
||||||
|
@ -125,21 +128,6 @@ module.exports = function(grunt) {
|
||||||
dest: 'tmp/desktop/KeeWeb-win32-x64/Resources/',
|
dest: 'tmp/desktop/KeeWeb-win32-x64/Resources/',
|
||||||
nonull: true
|
nonull: true
|
||||||
},
|
},
|
||||||
'desktop-darwin-helper-x64': {
|
|
||||||
src: 'helper/darwin/KeeWebHelper',
|
|
||||||
dest: 'tmp/desktop/KeeWeb-darwin-x64/KeeWeb.app/Contents/Resources/',
|
|
||||||
nonull: true,
|
|
||||||
options: { mode: '0755' }
|
|
||||||
},
|
|
||||||
'desktop-darwin-installer': {
|
|
||||||
cwd: 'package/osx/KeeWeb Installer.app',
|
|
||||||
dest:
|
|
||||||
'tmp/desktop/KeeWeb-darwin-x64/KeeWeb.app/Contents/Installer/KeeWeb Installer.app',
|
|
||||||
src: '**',
|
|
||||||
expand: true,
|
|
||||||
nonull: true,
|
|
||||||
options: { mode: true }
|
|
||||||
},
|
|
||||||
'desktop-win32-dist-x64': {
|
'desktop-win32-dist-x64': {
|
||||||
src: 'tmp/desktop/KeeWeb.win.x64.exe',
|
src: 'tmp/desktop/KeeWeb.win.x64.exe',
|
||||||
dest: `dist/desktop/KeeWeb-${pkg.version}.win.x64.exe`,
|
dest: `dist/desktop/KeeWeb-${pkg.version}.win.x64.exe`,
|
||||||
|
@ -276,7 +264,55 @@ module.exports = function(grunt) {
|
||||||
icon: 'graphics/icon.icns',
|
icon: 'graphics/icon.icns',
|
||||||
appBundleId: 'net.antelle.keeweb',
|
appBundleId: 'net.antelle.keeweb',
|
||||||
appCategoryType: 'public.app-category.productivity',
|
appCategoryType: 'public.app-category.productivity',
|
||||||
extendInfo: 'package/osx/extend.plist'
|
extendInfo: 'package/osx/extend.plist',
|
||||||
|
osxSign: {
|
||||||
|
identity: codeSignConfig.identities.app,
|
||||||
|
hardenedRuntime: true,
|
||||||
|
entitlements: 'package/osx/entitlements.mac.plist',
|
||||||
|
'entitlements-inherit': 'package/osx/entitlements.mac.plist',
|
||||||
|
'gatekeeper-assess': false
|
||||||
|
},
|
||||||
|
osxNotarize: {
|
||||||
|
appleId: codeSignConfig.appleId,
|
||||||
|
appleIdPassword: '@keychain:AC_PASSWORD',
|
||||||
|
ascProvider: codeSignConfig.teamId
|
||||||
|
},
|
||||||
|
afterCopy: [
|
||||||
|
(buildPath, electronVersion, platform, arch, callback) => {
|
||||||
|
if (path.basename(buildPath) !== 'app') {
|
||||||
|
throw new Error('Bad build path: ' + buildPath);
|
||||||
|
}
|
||||||
|
const resPath = path.dirname(buildPath);
|
||||||
|
if (path.basename(resPath) !== 'Resources') {
|
||||||
|
throw new Error('Bad Resources path: ' + resPath);
|
||||||
|
}
|
||||||
|
const helperTargetPath = path.join(
|
||||||
|
resPath,
|
||||||
|
'helper/darwin/KeeWebHelper'
|
||||||
|
);
|
||||||
|
const helperSourcePath = path.join(
|
||||||
|
__dirname,
|
||||||
|
'helper/darwin/KeeWebHelper'
|
||||||
|
);
|
||||||
|
fs.copySync(helperSourcePath, helperTargetPath);
|
||||||
|
|
||||||
|
const contentsPath = path.dirname(resPath);
|
||||||
|
if (path.basename(contentsPath) !== 'Contents') {
|
||||||
|
throw new Error('Bad Contents path: ' + contentsPath);
|
||||||
|
}
|
||||||
|
const installerSourcePath = path.join(
|
||||||
|
__dirname,
|
||||||
|
'package/osx/KeeWeb Installer.app'
|
||||||
|
);
|
||||||
|
const installerTargetPath = path.join(
|
||||||
|
contentsPath,
|
||||||
|
'Installer/KeeWeb Installer.app'
|
||||||
|
);
|
||||||
|
fs.copySync(installerSourcePath, installerTargetPath);
|
||||||
|
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
win32: {
|
win32: {
|
||||||
|
@ -296,13 +332,6 @@ module.exports = function(grunt) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
codesign: {
|
codesign: {
|
||||||
app: {
|
|
||||||
options: {
|
|
||||||
identity: 'app',
|
|
||||||
deep: true
|
|
||||||
},
|
|
||||||
src: ['tmp/desktop/KeeWeb-darwin-x64/KeeWeb.app']
|
|
||||||
},
|
|
||||||
dmg: {
|
dmg: {
|
||||||
options: {
|
options: {
|
||||||
identity: 'app'
|
identity: 'app'
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
||||||
/>
|
/>
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||||
<meta name="apple-mobile-web-app-title" content="KeeWeb" />
|
<meta name="apple-mobile-web-app-title" content="KeeWeb" />
|
||||||
<meta name="theme-color" content="#6386ec" />
|
<meta name="theme-color" content="#6386ec" />
|
||||||
|
|
|
@ -63,7 +63,7 @@ class KeyHandler {
|
||||||
const keyShortcuts = this.shortcuts[code];
|
const keyShortcuts = this.shortcuts[code];
|
||||||
if (keyShortcuts && keyShortcuts.length) {
|
if (keyShortcuts && keyShortcuts.length) {
|
||||||
for (const sh of keyShortcuts) {
|
for (const sh of keyShortcuts) {
|
||||||
if (this.modal && (sh.modal !== this.modal || sh.modal === '*')) {
|
if (this.modal && (sh.modal !== this.modal && sh.modal !== '*')) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
import { Color } from 'util/data/color';
|
import { Color } from 'util/data/color';
|
||||||
|
|
||||||
const ThemeVarsScss = require('raw-loader!../../styles/base/_theme-vars.scss').default;
|
import ThemeVarsScss from '!!raw-loader!../../styles/base/_theme-vars.scss';
|
||||||
// eslint-disable-next-line import/no-commonjs
|
import ThemeDefaults from '!!raw-loader!../../styles/themes/_theme-defaults.scss';
|
||||||
const ThemeDefaults = require('../../styles/themes/_theme-defaults.scss');
|
|
||||||
|
|
||||||
const ThemeVars = {
|
const ThemeVars = {
|
||||||
themeDefaults: null,
|
themeDefaults: null,
|
||||||
|
|
|
@ -70,7 +70,10 @@ class OpenView extends View {
|
||||||
KeyHandler.setModal('open');
|
KeyHandler.setModal('open');
|
||||||
this.once('remove', () => {
|
this.once('remove', () => {
|
||||||
this.passwordInput.reset();
|
this.passwordInput.reset();
|
||||||
KeyHandler.setModal(null);
|
if (KeyHandler.modal !== 'auto-type') {
|
||||||
|
// TODO: refactor this
|
||||||
|
KeyHandler.setModal(null);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ const childProcess = require('child_process');
|
||||||
|
|
||||||
const childProcessSpawn = childProcess.spawn;
|
const childProcessSpawn = childProcess.spawn;
|
||||||
|
|
||||||
function hookedSpawn(command, options) {
|
function hookedSpawn(command, options, ...args) {
|
||||||
if (command === 'wine') {
|
if (command === 'wine') {
|
||||||
options = options.map(option => {
|
options = options.map(option => {
|
||||||
if (option.includes(' ')) {
|
if (option.includes(' ')) {
|
||||||
|
@ -13,7 +13,7 @@ function hookedSpawn(command, options) {
|
||||||
return option;
|
return option;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return childProcessSpawn.call(childProcess, command, options);
|
return childProcessSpawn.call(childProcess, command, options, ...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.setup = function() {
|
module.exports.setup = function() {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "KeeWeb",
|
"name": "KeeWeb",
|
||||||
"version": "1.11.7",
|
"version": "1.11.8",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "KeeWeb",
|
"name": "KeeWeb",
|
||||||
"version": "1.11.7",
|
"version": "1.11.8",
|
||||||
"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",
|
||||||
|
|
|
@ -36,12 +36,9 @@ module.exports = function(grunt) {
|
||||||
'electron',
|
'electron',
|
||||||
'sign-exe:win32-build-x64',
|
'sign-exe:win32-build-x64',
|
||||||
'sign-exe:win32-build-ia32',
|
'sign-exe:win32-build-ia32',
|
||||||
'copy:desktop-darwin-helper-x64',
|
|
||||||
'copy:desktop-darwin-installer',
|
|
||||||
'copy:desktop-windows-helper-ia32',
|
'copy:desktop-windows-helper-ia32',
|
||||||
'copy:desktop-windows-helper-x64',
|
'copy:desktop-windows-helper-x64',
|
||||||
'chmod:linux-desktop-x64',
|
'chmod:linux-desktop-x64'
|
||||||
'codesign:app'
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
grunt.registerTask('build-desktop-archives', [
|
grunt.registerTask('build-desktop-archives', [
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "keeweb",
|
"name": "keeweb",
|
||||||
"version": "1.11.7",
|
"version": "1.11.8",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -3894,6 +3894,16 @@
|
||||||
"ms": "^2.1.1"
|
"ms": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fs-extra": {
|
||||||
|
"version": "4.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
|
||||||
|
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
|
||||||
|
"requires": {
|
||||||
|
"graceful-fs": "^4.1.2",
|
||||||
|
"jsonfile": "^4.0.0",
|
||||||
|
"universalify": "^0.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"sumchecker": {
|
"sumchecker": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz",
|
||||||
|
@ -5298,11 +5308,11 @@
|
||||||
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
|
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
|
||||||
},
|
},
|
||||||
"fs-extra": {
|
"fs-extra": {
|
||||||
"version": "4.0.3",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||||
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
|
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"graceful-fs": "^4.1.2",
|
"graceful-fs": "^4.2.0",
|
||||||
"jsonfile": "^4.0.0",
|
"jsonfile": "^4.0.0",
|
||||||
"universalify": "^0.1.0"
|
"universalify": "^0.1.0"
|
||||||
}
|
}
|
||||||
|
@ -5870,6 +5880,16 @@
|
||||||
"requires": {
|
"requires": {
|
||||||
"ms": "^2.1.1"
|
"ms": "^2.1.1"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"fs-extra": {
|
||||||
|
"version": "4.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
|
||||||
|
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
|
||||||
|
"requires": {
|
||||||
|
"graceful-fs": "^4.1.2",
|
||||||
|
"jsonfile": "^4.0.0",
|
||||||
|
"universalify": "^0.1.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "keeweb",
|
"name": "keeweb",
|
||||||
"version": "1.11.7",
|
"version": "1.11.8",
|
||||||
"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,
|
||||||
|
@ -34,6 +34,7 @@
|
||||||
"eslint-plugin-standard": "4.0.1",
|
"eslint-plugin-standard": "4.0.1",
|
||||||
"exports-loader": "0.7.0",
|
"exports-loader": "0.7.0",
|
||||||
"font-awesome": "4.7.0",
|
"font-awesome": "4.7.0",
|
||||||
|
"fs-extra": "^8.1.0",
|
||||||
"grunt": "1.0.4",
|
"grunt": "1.0.4",
|
||||||
"grunt-chmod": "^1.1.1",
|
"grunt-chmod": "^1.1.1",
|
||||||
"grunt-contrib-clean": "2.0.0",
|
"grunt-contrib-clean": "2.0.0",
|
||||||
|
|
|
@ -31,6 +31,11 @@ then
|
||||||
-days 3650 -nodes -sha256
|
-days 3650 -nodes -sha256
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ ${KEEWEB_CONFIG_URL} ]
|
||||||
|
then
|
||||||
|
sed -i "s,(no-config),${KEEWEB_CONFIG_URL}," /keeweb/index.html
|
||||||
|
fi
|
||||||
|
|
||||||
# exec CMD
|
# exec CMD
|
||||||
echo ">> exec docker CMD"
|
echo ">> exec docker CMD"
|
||||||
echo "$@"
|
echo "$@"
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>com.apple.security.cs.allow-jit</key>
|
||||||
|
<true/>
|
||||||
|
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||||
|
<true/>
|
||||||
|
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -9,6 +9,11 @@ Release notes
|
||||||
`+` #480: option to launch the app minimized
|
`+` #480: option to launch the app minimized
|
||||||
`-` fix #1273: untranslated menu items
|
`-` fix #1273: untranslated menu items
|
||||||
|
|
||||||
|
##### v1.11.8 (2019-10-11)
|
||||||
|
`-` fix #1292: macOS app notarization
|
||||||
|
`-` fix #1296: search in auto-type
|
||||||
|
`-` fixed issues with some theme plugins
|
||||||
|
|
||||||
##### v1.11.7 (2019-10-08)
|
##### v1.11.7 (2019-10-08)
|
||||||
`-` fix #1289: crash on Auto sorting mode
|
`-` fix #1289: crash on Auto sorting mode
|
||||||
`-` fix #1288: issues when opening a file during in auto-type mode
|
`-` fix #1288: issues when opening a file during in auto-type mode
|
||||||
|
|
Loading…
Reference in New Issue