From c2e8e07002d7d5fb3a0ed6c495a432cb48a4acd0 Mon Sep 17 00:00:00 2001 From: Hinton Date: Thu, 18 Mar 2021 21:33:14 +0100 Subject: [PATCH] Fix edge case where tmp directory doesn't exist in home dir on mac. --- src/main/nativeMessaging.main.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/nativeMessaging.main.ts b/src/main/nativeMessaging.main.ts index 19ef5c6e6e..a40f9d9d87 100644 --- a/src/main/nativeMessaging.main.ts +++ b/src/main/nativeMessaging.main.ts @@ -14,10 +14,13 @@ export class NativeMessagingMain { constructor(private logService: LogService, private windowMain: WindowMain, private userPath: string, private appPath: string) {} - listen() { + async listen() { ipc.config.id = 'bitwarden'; ipc.config.retry = 1500; if (process.platform === 'darwin') { + if (!existsSync(`${homedir()}/tmp`)) { + await fs.mkdir(`${homedir()}/tmp`); + } ipc.config.socketRoot = `${homedir()}/tmp/`; } @@ -163,8 +166,10 @@ export class NativeMessagingMain { }; } - private writeManifest(destination: string, manifest: object) { - fs.mkdir(path.dirname(destination)); + private async writeManifest(destination: string, manifest: object) { + if (!existsSync(path.dirname(destination))) { + await fs.mkdir(path.dirname(destination)); + } fs.writeFile(destination, JSON.stringify(manifest, null, 2)).catch(this.logService.error); }