From 03dcd86a5a04849b7c7d7e7295b26a265131c95b Mon Sep 17 00:00:00 2001 From: Devin Binnie <52460000+devinbinnie@users.noreply.github.com> Date: Mon, 4 Nov 2024 10:54:46 -0500 Subject: [PATCH] [MM-60080] Fixed the MAS migration from the DMG build, fixed a potential crash case (#3186) * [MM-60080] Fixed the MAS migration from the DMG build, fixed a potential crash case * Merge'd --- src/main/app/utils.test.js | 2 +- src/main/app/utils.ts | 2 +- src/main/developerMode.ts | 1 + src/main/permissionsManager.ts | 3 +++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/app/utils.test.js b/src/main/app/utils.test.js index f4caf0e8..4c8789d9 100644 --- a/src/main/app/utils.test.js +++ b/src/main/app/utils.test.js @@ -241,7 +241,7 @@ describe('main/app/utils', () => { dialog.showMessageBoxSync.mockReturnValue(0); dialog.showOpenDialogSync.mockReturnValue(['/old/data/path']); migrateMacAppStore(); - expect(fs.cpSync).toHaveBeenCalledWith('/old/data/path', '/path/to/data'); + expect(fs.cpSync).toHaveBeenCalledWith('/old/data/path', '/path/to/data', {recursive: true}); expect(updatePaths).toHaveBeenCalled(); expect(migrationPrefs.setValue).toHaveBeenCalledWith('masConfigs', true); }); diff --git a/src/main/app/utils.ts b/src/main/app/utils.ts index c5f7ac41..f08c829a 100644 --- a/src/main/app/utils.ts +++ b/src/main/app/utils.ts @@ -232,7 +232,7 @@ export function migrateMacAppStore() { } try { - fs.cpSync(result[0], app.getPath('userData')); + fs.cpSync(result[0], app.getPath('userData'), {recursive: true}); updatePaths(true); migrationPrefs.setValue('masConfigs', true); } catch (e) { diff --git a/src/main/developerMode.ts b/src/main/developerMode.ts index d85f344f..b06f1113 100644 --- a/src/main/developerMode.ts +++ b/src/main/developerMode.ts @@ -62,6 +62,7 @@ export class DeveloperMode extends EventEmitter { let developerMode = new DeveloperMode(developerModeJson); ipcMain.on(UPDATE_PATHS, () => { + ipcMain.removeHandler(IS_DEVELOPER_MODE_ENABLED); developerMode = new DeveloperMode(developerModeJson); }); export default developerMode; diff --git a/src/main/permissionsManager.ts b/src/main/permissionsManager.ts index 5e5824c2..f759f386 100644 --- a/src/main/permissionsManager.ts +++ b/src/main/permissionsManager.ts @@ -251,6 +251,9 @@ t('main.permissionsManager.checkPermission.dialog.detail.screenShare'); let permissionsManager = new PermissionsManager(permissionsJson); ipcMain.on(UPDATE_PATHS, () => { + ipcMain.removeAllListeners(OPEN_WINDOWS_CAMERA_PREFERENCES); + ipcMain.removeAllListeners(OPEN_WINDOWS_MICROPHONE_PREFERENCES); + ipcMain.removeHandler(GET_MEDIA_ACCESS_STATUS); permissionsManager = new PermissionsManager(permissionsJson); });