[MM-19963] set working directory on start (#1105)

* [MM-19963] set current working directory for the app

* prevent failing if env variables are not setup

* [MM-19963] cwd if not in dev mode and only if necessary, log it if it happens

* fix remove path if no cert is present

* address CR suggestions
This commit is contained in:
Guillermo Vayá
2019-11-19 11:31:32 +01:00
committed by GitHub
parent 90963e8381
commit 395cbf9c9e
3 changed files with 12 additions and 3 deletions

View File

@@ -439,7 +439,7 @@ function Get-Cert {
} }
function Remove-Cert { function Remove-Cert {
if (Test-Path $env:PFX) { if (Test-Path 'env:PFX') {
Print-Info "Removing windows certificate" Print-Info "Removing windows certificate"
Remove-Item -path "./mattermost-desktop-windows.pfx" Remove-Item -path "./mattermost-desktop-windows.pfx"
} }

View File

@@ -14,7 +14,10 @@ exports.default = async function notarizing(context) {
} }
const appName = context.packager.appInfo.productFilename; const appName = context.packager.appInfo.productFilename;
if (typeof process.env.APPLEID === 'undefined') {
console.log('skipping notarization, remember to setup environment variables for APPLEID and APPLEIDPASS if you want to notarize');
return;
}
await notarize({ await notarize({
// should we change it to appBundleId: 'com.mattermost.desktop', // should we change it to appBundleId: 'com.mattermost.desktop',

View File

@@ -89,7 +89,6 @@ const customLogins = {};
*/ */
async function initialize() { async function initialize() {
process.on('uncaughtException', criticalErrorHandler.processUncaughtExceptionHandler.bind(criticalErrorHandler)); process.on('uncaughtException', criticalErrorHandler.processUncaughtExceptionHandler.bind(criticalErrorHandler));
global.willAppQuit = false; global.willAppQuit = false;
// initialization that can run before the app is ready // initialization that can run before the app is ready
@@ -167,6 +166,13 @@ function initializeAppEventListeners() {
function initializeBeforeAppReady() { function initializeBeforeAppReady() {
certificateStore = CertificateStore.load(path.resolve(app.getPath('userData'), 'certificate.json')); certificateStore = CertificateStore.load(path.resolve(app.getPath('userData'), 'certificate.json'));
// prevent using a different working directory, which happens on windows running after installation.
const expectedPath = path.dirname(process.execPath);
if (process.cwd() !== expectedPath && !isDev) {
console.warn(`Current working directory is ${process.cwd()}, changing into ${expectedPath}`);
process.chdir(expectedPath);
}
// can only call this before the app is ready // can only call this before the app is ready
if (config.enableHardwareAcceleration === false) { if (config.enableHardwareAcceleration === false) {
app.disableHardwareAcceleration(); app.disableHardwareAcceleration();